Проблемы с репликацией Master/Master и Master / Slave на Raspberry Pi 3

Итак, в течение 2 недель я пытался установить реплика Master / Master (с веб-сервером apache2 и базой данных mariadb) на два Raspberry pi, используя разные методы, которые я нашел по всему Интернету (также французские учебники). Многие из этих методов были довольно похожи, но я все еще не могу заставить свою репликацию работать, и теперь я застрял, потому что я не понимаю, что я делаю неправильно. Когда я только начинал, мне удалось заставить репликацию Master / Slave работать примерно через неделю (хотя это было ведомое устройство, которое могло писать на ведущем устройстве), поэтому я решил настроить его наоборот, чтобы превратить его в ведущее устройство. Репликация / master, и с тех пор она "сломана" (не работает ни на M / M, ни на M/S). В каждом уроке, который я выполнял, шаги были примерно одинаковыми:

редактировать " sudo nano /etc/my.cnf "

добавить необходимую информацию ->

лог-бен

server_id=1

реплицировать-ду-дб = реплицировать

связывать-адрес =192.168.xx

(и другие, которые я нашел на различных веб-сайтах, которые я мог бы помочь сделать более точным и, возможно, работать)

затем: "systemctl перезапустить mariadb "

После этого войдите в mariadb с мастером 1 и настройте его:

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ '$master_username'@'%', ИДЕНТИФИЦИРОВАННОГО '$master_password';

ГРАНТ РЕПЛИКАЦИЯ РАБА НА . TO '$master_username'@'%';

ПРИВИЛЕГИИ ПРОМЫВКИ;

ПОКАЗАТЬ МАСТЕР СТАТУС;

И затем сделайте то же самое на другом raspi ( master 2) с его правильной информацией и добавлением:

РАБ СТОП;

ИЗМЕНИТЬ MASTER TO MASTER_HOST = '192.168.0.12', MASTER_USER = '$master_username', MASTER_PASSWORD = '$master_password', MASTER_LOG_FILE =mariadb-bin.xxxxxx;, MASTER_LOG_POS = xxxx;

РАБОЧИЙ СТАРТ;

ПОКАЗАТЬ МАСТЕР СТАТУС;

затем вернемся к Мастеру 1:

РАБ СТОП;

ИЗМЕНИТЬ MASTER TO MASTER_HOST = '192.168.0.15', MASTER_USER = '$master_username', MASTER_PASSWORD = '$master_password', MASTER_LOG_FILE =mariadb-bin.xxxxxxxx;, MASTER_LOG_POS = xxx;

РАБОЧИЙ СТАРТ;

Итак, к настоящему времени я бы сделал SHOW SLAVE STATUS \G для обоих, чтобы увидеть, работает ли он, и нет, и он говорит:

Slave_IO_Running: подключение

Slave_SQL_Running: Да

и это говорит, что это не может соединиться с хостом обоими способами, но когда я пингую их, они находят друг друга.

Если у кого-то есть представление о том, что может происходить или что я делаю неправильно, это было бы весьма полезно! Хороший день для вас

1 ответ

Одной из причин таких проблем может быть то, что брандмауэр блокирует доступ к стандартному порту MariaDB 3306. Если у вас есть nc, netcat или же telnet Установив программы, вы можете проверить, открыт ли сетевой порт, который прослушивает MariaDB.

nc 192.168.0.12 3306

или с telnet

telnet 192.168.0.12 3306

Если какой-либо из этих искаженных символов печати, как показано ниже, вы знаете, порт открыт.

r5.5.5-10.2.11-MariaDB-10.2.11+maria~jessie-log'le6|2}Cv���IIs'eGt5IP6]mysql_native_password

Вместо этого, если вы получаете сообщение об ошибке и в соединении отказано, вы знаете, что проблема с брандмауэром.

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