Назад | Перейти на главную страницу

Проблемы репликации 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

replicate-do-db = реплицировать

адрес привязки = 192.168.x.x

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

затем: "systemctl restart mariadb"

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

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

ПРЕДОСТАВИТЬ РЕПЛИКАЦИЮ ПОДЧИНЕННОГО НА . TO '$ master_username' @ '%';

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

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

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

SLAVE STOP;

ИЗМЕНИТЬ МАСТЕРА НА 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:

SLAVE STOP;

СМЕНА МАСТЕРА НА 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: Да

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

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

Одной из причин такого рода проблем может быть то, что брандмауэр блокирует доступ к порту 3306 по умолчанию для MariaDB. Если у вас есть 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

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