Связывание MySQL Workbench с моим удаленным сервером - PullRequest
6 голосов
/ 18 июня 2011

Я только что скачал MySQL Workbench.

Но я не совсем понимаю, как синхронизировать это с базами данных на моем удаленном сервере.

Рабочий стол запрашивает "имя хоста", поэтому я указал имя хоста моего удаленного сервера.Я назначаю порт 3306.

Затем я предоставляю имя пользователя.Это имя пользователя, которое я использую при входе в PhpAdmin. Должен ли я использовать другое имя?

Затем я предоставляю пароль, снова тот же, который я использую для PhpAdmin.

Но этоне работает.

Как ни странно, ошибка всегда говорит мне, что мое имя пользователя: username@current_network_im_using_to_access_the_internet

Но это не так - на phpAdmin мое имя пользователя говорит username@localhost,

Я не совсем уверен, что делать.

Вы можете мне помочь?

Ответы [ 2 ]

14 голосов
/ 18 июня 2011

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.

1 голос
/ 18 июня 2011

Ваш phpMyAdmin, кажется, работает на том же сервере, что и сама база данных.

Поэтому он может использовать username@localhost для подключения к серверу.

Вам нужно будет разрешить MySQL приниматьподключений извне localhost путем добавления другого пользователя username@% (% означает «любой хост»).

Обратите внимание, что это не очень хорошая практика - если у вас статический IP, рассмотрите возможность ограничения доступа к этому.адрес.

...