2016-10-26 3 views
1

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

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

Error: SQLSTATE[HY000] [2002] No route to host

Моя локальная конфигурация базы данных в 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 is ok for this IP from my PC
  • There is no name server for this IP address

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

+0

насчет имени пользователя, пароля и базы данных? они все в порядке? –

+2

Я думаю, что в хосте вы должны указывать IP, т.е. 192.168.1.19, а не протокол (https), который указан портом –

+0

Да! Все учетные данные в порядке. @ManoharKhadka –

ответ

2

Наконец я решил эту проблему, последовавший steps-

Шаг 1 (Edit MySQL конфигурационный файл)

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

Найти и изменил ниже линии

bind-address = 127.0.0.1

К

bind-address = 0.0.0.0

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

CREATE USER 'remote_db_user'@'%' IDENTIFIED BY 'my_password';

GRANT ALL PRIVILEGES ON *.* TO 'remote_db_user'@'%' WITH GRANT OPTION;

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

sudo service apache2 restart

Шаг 4 (Restart MySQL)

sudo service mysql restart

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

Смежные вопросы