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

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

log-bin

server_id = 1

replicate-do-db = replicate

bind-address = 192.168.xx

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

затем: "systemctl restart mariadb"

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

CREATE USER '$ master_username' @ '%' IDENTIFIED BY '$ master_password';

GRANT REPLICATION SLAVE ON . . TO '$ master_username' @ '%';

FLUSH PRIVILEGES;

SHOW MASTER STATUS;

А затем сделайте то же самое с другим raspi (master 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;

SLAVE START;

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

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

SLAVE STOP;

ИЗМЕНИТЬ МАСТЕРА НА МАСТЕР_ХОСТА 192.168.0.15 ', MASTER_USER =' $ master_username ', MASTER_PASSWORD =' $ master_password ', MASTER_LOG_FILE = mariadb-bin.xxxxxxxx ;, MASTER_LOG_POS = xxx;

SLAVE START;

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

Slave_IO_Running: connected

Slave_SQL_Running: Да

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

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

0
задан 7 February 2018 в 12:34
1 ответ

Одной из причин подобных проблем может быть то, что брандмауэр блокирует доступ к порту 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

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

1
ответ дан 4 December 2019 в 16:02

Теги

Похожие вопросы