Мало ли по какой причине бывает нужен удаленный доступ к серверу MySQL. Это могут быть разные причины, например не желание работать с pjpMyAdmin, или есть необходимость дать доступ разным пользователям с разных мест для разработки баз данных. Не важно.
Просто нужен удаленный доступ.
Дело в том, что по-умолчанию MySQL сервер слушаю всё что происходит на порту 3306 но на локальном компьютере ы никого кроме localhost не признает.
Идем в конфигурационный файл
/etc/mysql/my.cnf и редактируем его.
Просто надо закомментировать строку
было -
стало-
#bind-address = 127.0.0.1
Теперь MySQL будет слушать всех а не только localhost
Можете заменить 127.0.0.1 на другой IP, тогда MySQL будет слушать ТОЛЬКО этот IP и боьше никого.
Не забудьте:
$ sudo /etc/init.d/mysql restart
А если нужно что mysql слушала не всех, а только два ip ? локалхост и компьютер в сети, как сделать?
Ну тогда надо сделать так:
После этого надо назначить соответствующие права для пользователя и компьютера в сети.
> mysql -h localhost -u root -p
password: ****
mysql> create user 'username'@'host' ... ... ...;
Где, 'host' - это хост, с которого хотим позволить подключаться пользователю 'username'
Устанавливаем необходимые права на доступ
$ mysql -u root -p
mysql> CREATE USER 'MY_USERNAME'@'localhost' IDENTIFIED BY 'MY_PASSWORD'
mysql> GRANT ALL PRIVILEGES ON 'MY_DATABASE'.* TO 'MY_USERNAME'@'12.34.56.78' IDENTIFIED BY 'MY_PASSWORD';
mysql> quit
$ sudo /etc/init.d/mysql restart
Ну вот где-то так ...