Для начала, проверим настройки в файле /etc/mysql/my.cnf:
port = 3306 #skip-networking (в смысле, закомментировано) bind-address = IP_СЕРВЕРА_(НЕ_127.0.0.1)
вот это то, что я менял.
Дальше, когда пытаемся присоединиться к базе, например, любой управлялкой базами (SQL Manager Lite как вариант — удобно, бесплатно, но на буржуйском наречии), получаем соообщение о том, что наш комп не может соединяться с мускул сервером…
host ‘myhost’ is not allowed to connect to this mysql server
Как-то так…
Вариант с firewall исключим для простоты восприятия, но проверить не помешает на будущее.
Дело в том, что MySQL не только умеет ограничить доступ извне к самому серверу, но еще и определить пользователей для доступа удаленно к определенным базам или даже таблицам.
Создаем пользователя test с полными правами для базы my_db с паролем superpass (как вариант — запрос в phpMyAdmin):
GRANT ALL PRIVILEGES ON `my_db`.* TO test@'%' IDENTIFIED BY 'superpass';
Это создаст пользователя и даст ему права (GRANT) на соединение со всех хостов кроме localhost (127.0.0.1)!
А следующий запрос даст право читать таблицу my_table в базе my_db пользователю test с компьютера 192.168.0.10 с паролем superpass:
GRANT SELECT ON my_db.my_table TO test@192.168.0.10 IDENTIFIED BY 'superpass';
Пост оказался полезным!
Спасибо за публикацию, очень правильно все написано!