Могу ли я использовать php-скрипты на сервере A и подключиться к базе данных MySQL на сервере B?
Если да, как это будет сделано? заранее спасибо
его простые все эти выше техники довольно сложны
предположим, что у вас есть база данных на сервере B и веб-сайт на сервере A (скажем, он имеет IP 192.234.12.1)
на cpanel whitelist IP сервера B
и создать нового пользователя, имеющего достаточные привилегии в базе данных (скажем, этот пользователь является тестом)
затем создайте этого пользователя как test@192.234.12.1
Да.
Точно так же, как вы получаете доступ к локальному хосту на том же сервере, вы меняете хост базы данных на внешний. Это проблема конфигурации, вам нужно предоставить удаленному доступу пользователя базы данных к вашему MySQL, вам также необходимо убедиться, что ваш брандмауэр разрешает подключения к порту MySQL.
Пример на Debian: http://www.debianhelp.co.uk/remotemysql.htm
Просто не укажите имя хоста для другого поля для подключения. Информация зависит от используемого вами расширения:
$mysql = mysql_connect($host, $user, $pass); $mysqli = new mysqli($host, $user, $password, $schema); $pdo = new PDO("mysql:host=$host", $user, $pass);
Убедитесь, что пользователю разрешен доступ к серверу MySQL ( CREATE USER ) и убедитесь, что на этом пути нет брандмауэра.
Да, это может быть сделано.
Узнайте IP-адрес сервера A, где будут загружены ваши сценарии. Не забудьте изменить localhost на IP-адрес сервера B в методе mysql_connect () или mysqli_connect ().
Теперь перейдите на панель управления сервера B, где находится ваша база данных.
На домашней странице панели управления перейдите в раздел «Базы данных» и нажмите «Удаленный MYSQL».
Затем добавьте Ip-адрес сервера A и нажмите добавить узел.
Теперь вы можете получить доступ к базе данных на сервере B, пока ваши сценарии запущены на сервере A. Имейте в виду, что полученный результат будет медленным, потому что он получает данные из базы данных, расположенной на другом сервере.
Пожалуйста
Это все, что вам нужно .
(Даже у вас могут быть ваши скрипты на сервере A, ваш веб-сервер на сервере B и ваша база данных на сервере C …)
Посмотрите здесь:
http://us2.php.net/manual/en/function.mysql-connect.php
Вы можете либо передать имя хоста сервера в качестве аргумента, либо настроить в php.ini.
У меня были схожие проблемы, но вот что для меня работает: для подключения к серверу B с сервера A, во-первых, вам нужно разрешить удаленные хосты доступа к MySQL в cPanel (сервер B), Главная -> Базы данных -> Удаленная MySQL, а также белый список IP в брандмауэре (это IP-адрес сервера B). Затем должно работать следующее соединение php db.
$db_connect = mysqli_connect("serverB.com", "dbuser", "dbpassword", "dbname"); // Evaluate the connection if (mysqli_connect_errno()) { echo mysqli_connect_error(); exit(); }else{ //successful connection echo "Yes, successful"; }