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

Я пытаюсь подключиться Cakephp 3.x удаленный сервер базы данных с моей локальной машины.

Но это показывает ниже ошибку

Ошибка: SQLSTATE[HY000] [2002] Нет маршрута к хосту

Моя локальная конфигурация базы данных в app.php это похоже на -

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => '192.168.1.19',
        /**
         * CakePHP will use the default DB port based on the driver selected
         * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
         * the following line and set the port accordingly
         */
        'port' => '3306',
        'username' => 'remote_db_user',
        'password' => 'my_password',
        'database' => '********',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,
     ],
     /*Other configs*/
]

О удаленном сервере:

  • ping 192.168.1.19 нормально для этого IP с моего компьютера
  • Для этого нет сервера имен IP адрес

Как я могу решить эту проблему?

2 ответа

Решение

Наконец я решил эту проблему, выполнив несколько шагов:

Шаг 1 (Редактировать конфигурационный файл mysql)

/etc/mysql/mysql.conf.d/mysqld.cnf

Найти и изменить ниже строки

bind-address = 127.0.0.1

К

bind-адрес = 0.0.0.0

Шаг 2 (Предоставление разрешения на доступ к базе данных для пользователя)

CREATE USER 'remote_db_user' @ '%' ИДЕНТИФИЦИРОВАНО 'my_password';

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *.* TO 'remote_db_user'@'%' С GRANT OPTION;

Шаг 3 (Перезапустите Apache)

перезапуск службы sudo apache2

Шаг 4 (Перезапустите mysql)

sudo service mysql restart

И теперь я могу подключиться к удаленной базе данных, используяCakePHP 3

Пожалуйста, проверьте правила брандмауэра. например, если у вас запущен порт MySQL 3306, проверьте, открыт он или нет. и проверьте, что это правило также разрешено.

ufw разрешить mysql

Другие вопросы по тегам