Я пытаюсь настроить репликацию master-slave между двумя базами данных MariaDB версии 5.5.68 под CentOS7.
Первые шаги прямо вперед:
- Измените my.cnf.conf и добавьте следующие строки в [mysqld]
server_id=1
log-basename=master
log-bin
binlog-format=mixte
- Перезапустить mariadb
systemctl restart mariadb
- Войдите в mariaDB, создайте нового пользователя для репликации и дайте ему права.
mysql -u root -p
MariaDB [(none)]> STOP SLAVE;
MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
- Заблокируйте базу данных и запомните номер позиции. MariaDB [(нет)]> FLUSH TABLES WITH READ LOCK; MariaDB [(нет)]› ПОКАЗАТЬ ГЛАВНЫЙ СТАТУС;
Проблема: На этом этапе я должен получить таблицу с номером позиции, но получаю сообщение:
MariaDB [(none)]> SHOW MASTER STATUS;
Empty set (0.00 sec)
после нескольких действий по устранению неполадок я обнаружил, что это может быть связано с отсутствием двоичного ведения журнала. Что подтверждается следующей командой и результатом.
MariaDB [(none)]> SHOW BINARY LOGS;
ERROR 1381 (HY000): You are not using binary logging
Я попробовал несколько конфигураций (изменение в my.cnf.conf, чтобы указать путь к журналу-бункеру, изменение формата bin-log-format от mixte до row), чтобы активировать двоичное ведение журнала, но все потерпело неудачу.
Я застрял.