MySQL рассматривает логины как специфичные для хоста, с которого они происходят.Вы можете иметь пароль, отличный от вашего домашнего компьютера, чем тот, который вы используете на самом сервере, и вы можете иметь совершенно разные наборы разрешений, предоставленных одному и тому же имени пользователя для разных исходных хостов.
В PHPMyadmin, базе данныхработает на том же сервере, что и веб-сервер, и поэтому именуется localhost
, с IP 127.0.0.1
.Ваш компьютер, на котором установлен Workbench, должен иметь доступ к MySQL с другими учетными данными, чем ваш username@localhost
.Сервер требует от вас предоставления доступа к вашему имени пользователя с любого хоста, с которого вы собираетесь подключиться.
В PhpMyAdmin вам необходимо предоставить доступ к вашей базе данных с удаленного хоста: (См. Также ответ Пекки о том, какразрешить соединения с любого хоста *
GRANT ALL PRIVILEGES on dbname.* TO yourusername@your_remote_hostname IDENTIFIED BY 'yourpassword';
Чтобы просмотреть все гранты, которые у вас есть в данный момент на localhost
, чтобы можно было дублировать их для удаленного хоста:
SHOW GRANTS FOR yourusername@localhost;
Кроме того, необходимо сначала настроить сервер MySQL для приема удаленных подключений.Это не всегда так, особенно на платформах веб-хостинга.В файле my.cnf
строка skip-networking
должна быть удалена или закомментирована.Если нет строки skip-networking
, вы должны закомментировать строку:
bind-address = 127.0.0.1
... затем перезапустите MySQL.