Изглежда, че имате няколко проблема тук,
ИЗКЛЮЧВАНЕ
Бих започнал тук, тъй като може да имате проблем с разрешенията. Бих препоръчал първо да се уверите, че вашият локален IP адрес има разрешение да се свърже с вашата отдалечена база данни mySQL и обратно, в зависимост от вашата настройка може да успеете да конфигурирате това в phpMyAdmin, хостинг консул като cPanel или чрез shell достъп. Бих препоръчал да настроите отделен потребител със силна парола за отдалечен достъп. Трябва да имате статичен IP адрес на вашата локална интернет връзка, ако нямате такъв, свържете се с вашия доставчик на интернет услуги и уредете такъв.
В phpMyAdmin, ако имате достатъчен достъп, през раздела "Потребителски права" и задаване на "хост" под "Информация за вход". Не бих препоръчал настройката "който и да е хост" поради очевидни причини за сигурност.
В cPanel, под "бази от данни" трябва да намерите "отдалечен mySQL", където можете да зададете своя IP адрес.
Най-накрая в SSH,
- отворете конфигурационния файл на mySQL с любимия си редактор, като VI или Nano, в Ubuntu той се намира на адрес "/etc/mysql/my.conf",
- закоментирайте „bind-address =127.0.0.1“, така че да изглежда като „#bind-address =127.0.0.1“,
- рестартирайте mySQL с "/etc/init.d/mysql restart",
- влезте в mySQL с "mysql -u root -p",
- за нов потребител, „CREATE USER 'MY_USERNAME'@'localhost' ИДЕНТИФИЦИРАН ОТ 'MY_PASSWORD'"
- следва „ПРЕДОСТАВЯ ВСИЧКИ ПРИВИЛЕГИИ ВЪРХУ „MY_DATABASE“.* НА „MY_USERNAME“@’12.34.56.78“, ИДЕНТИФИЦИРОВАНО ОТ „MY_PASSWORD“;“ - обърнете внимание, заменете IP "12.34.56.78" с вашия действителен IP адрес.
- Сега трябва да имате потвърждение по редовете на заявката.
- Накрая излезте от mysql с командата "quit" и рестартирайте с "/etc/init.d/mysql restart"
ЗАБЕЛЕЖКА:Бих препоръчал да настроите и двете инсталации на mySQL за отдалечен достъп.
Сега бих препоръчал да тествате това, като стартирате малък скрипт на вашата локална машина, нещо като
<?php
$host = 'mysql_remoteip';
$user = 'mysql_username';
$pass = 'mysql_password';
$db = 'mysql_database';
$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("OOPS! I can not connect to the remote mySQL database, I was given the following error: ".mysql_error());
$sql = "SELECT column FROM table WHERE column='my_var'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
if(empty($row['column']) {
echo "WHOOPS! I could not get information from the mySQL, was there data for me to retrieve in the database?";
} else {
echo "The data I retrieved is:<br />"
echo $row['column'];
}
}
?>
ЗАБЕЛЕЖКА:трябва да имате данни в базата данни, за да работи скриптът правилно, резултат без данни ще покаже съобщение, че скриптът не може да извлече данните, това все пак ще установи дали сега имате достъп до базата данни или не, но не не гарантирам, че е 100% работещ.
ГОСПОДАР ИЛИ РОБЕН
Да, възможно е, при условие че имате достатъчен достъп
В phpMyAdmin:
- под раздела "репликация" ще намерите съветник, който да ви предостави кода, за да зададете това в конфигурационния файл на mySQL (в Ubuntu той се намира на "/etc/mysql/my.conf"),
- щракнете върху връзката, за да конфигурирате главния сървър
- въведете информацията във формуляра, копирайте кода
- Отидете до вашия конфигурационен файл (местоположение по-горе) и добавете кода, предоставен от phpMyAdmin
- след като актуализирате конфигурационния файл, рестартирайте mySQL и щракнете върху бутона Go в phpMyAdmin, това ще потвърди промените.
- Сега отново в раздела „репликация“ щракнете върху връзката, за да конфигурирате подчинения сървър
- уверете се, че имате уникален идентификатор на сървъра във вашия конфигурационен файл, ако не, добавете реда, предоставен от phpMyAdmin в секцията [mysqld] на файла
- Попълнете необходимата информация и щракнете върху Go
Това трябва да настрои вашата репликация.
СИНХРОНИЗИРАНЕ
Ако всичко останало се провали, тогава в phpMyAdmin отидете на раздела "синхронизиране", въведете информацията и тръгнете, просто трябва да потвърдите синхронизирането на следващата страница и 2 секунди по-късно сте готови, толкова е лесно.
За производствените сървъри аз лично имам настройка за репликация главен/подчинен, но за разработка синхронизирам, когато имам нужда от "живи" данни за репликиране на грешка или проблем, това е защото трябва да синхронизирам само веднъж на всеки 6-12 месеца. Ако имам нужда от данни в реално време локално, тогава бих настроил репликацията главен/подчинен