У меня есть сайт example.com
, он содержит сервер MySQL. У меня есть другой example.org
, оба являются разными доменами. Я хочу получить доступ к серверу MySQL на example.com
с example.org
. Как это возможно?
Вам нужно будет установить удаленный example.com
при вызове функции инициализации соединения с базой данных. Например:
mysqli_connect("example.com", 'username', 'password', 'database name');
Но вам нужно будет проверить, настроен ли сервер MySQL example.com
принимать соединения с других хостов (см. Директиву bind-address
в my.cnf
или my.ini
), и чтобы username
вы связываетесь, установлено иметь возможность подключения из внешних доменов.
Рассмотрим следующую страницу пользователей phpMyAdmin:
Понятно, что только пользовательский test
имеет доступ из внешних доменов ( %
в поле Host ). Не отображается на изображении, но пользовательский test
имеет полную привилегию в базе данных, называемой test
. Другие пользователи привязаны к локальному домену, даже если сервер настроен на прием соединений извне, при аутентификации пользователи подвергаются отказу.
Вы можете подключиться к удаленному серверу MySQL. Просто убедитесь, что удаленный сервер привязан к общедоступному адресу.
Вот как это делается: http://www.howtogeek.com/howto/mysql/switch-mysql-to-listen-on-tcp/
Вы можете подключиться к любому серверу MySQL, где бы он ни находился, до тех пор, пока он настроен для удаленного подключения.
В зависимости от вашей операционной системы и веб-сервера выбора, настройки будут разными, но хорошее место для запуска – при использовании Linux:
/etc/mysql/my.cnf
В этом файле вы найдете:
bind-address: 127.0.0.1
Вы измените это на IP-адрес сервера, а затем перезапустите демон mysql.
.. и теперь вы можете подключиться удаленно;)