Репликация master-slave Mariadb: пустой набор / не используются двоичные журналы

Я пытаюсь настроить репликацию master-slave между двумя базами данных MariaDB версии 5.5.68 под CentOS7.

Первые шаги прямо вперед:

  1. Измените my.cnf.conf и добавьте следующие строки в [mysqld]
server_id=1
log-basename=master
log-bin
binlog-format=mixte
  1. Перезапустить mariadb
systemctl restart mariadb
  1. Войдите в 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;
  1. Заблокируйте базу данных и запомните номер позиции. 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), чтобы активировать двоичное ведение журнала, но все потерпело неудачу.

Я застрял.


person RedLeu    schedule 08.02.2021    source источник


Ответы (1)


Решено!

Я использовал раздел [mysqld] в /etc/my.cnf.d/server.cnf, но не обратил внимания, что мой файл /etc/my.cnf отсутствует.

Итак... Содержимое файлов my.cnf.d/*.cnf вообще не использовалось. Решение было:

пересоздайте файл /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

а затем перезапустите службу mariadb

systemctl restart mariadb
person RedLeu    schedule 08.02.2021