Часто, этот процесс сопровождается ошибкой запрета доступа извне типа на подобие:
host ‘myhost’ is not allowed to connect to this mysql server
или таким:
Can't Connect to MySQL Server on IPAddress (10061)
Для решения данной проблемы нужно сделать следующие шаги
Для начала, проверим настройки в файле /etc/mysql/mysql.conf.d/mysqld.cnf
port = 3306 #skip-networking (в смысле, закомментировано) bind-address = IP_СЕРВЕРА_(НЕ_127.0.0.1)
Дальше, когда пытаемся присоединиться к базе, например, любой управлялкой базами (SQL Manager Lite как вариант — удобно, бесплатно, но на буржуйском наречии), получаем соообщение о том, что наш комп не может соединяться с мускул сервером…
Вариант с firewall исключим для простоты восприятия, но проверить не помешает на будущее.
Дело в том, что MySQL не только умеет ограничить доступ извне к самому серверу, но еще и определить пользователей для доступа удаленно к определенным базам или даже таблицам.
Сначала входим в консоль MySQL:
mysql -u <username> -p<password> <database_name>
Создаем пользователя test с полными правами для базы my_db с паролем superpass
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';
По умолчанию, режим безопасности подключения к MySQL находится под статусом MEDIUM , нам нужно перевести его в режим LOW командой MySQL
mysql> SET GLOBAL validate_password_policy=LOW;
Или это же можно сделать через конфигурационный файл, записав в my.cnf строчку:
[mysqld] validate_password_policy=LOW