如何在MariaDB中同步replicationDB和masterDB

问题描述 投票:0回答:1

我创建了replicaDB,但遇到了问题。 当我创建它时,我做了以下一些步骤

  1. 用读锁刷新表;在 masterDB 上
  2. mysqldump 命令也可以进行备份
  3. 将备份导入replicaDB
  4. 重置从机; ,执行了CHANGE MASTER命令,并在replicaDB上启动SLAVE
  5. 解锁桌子;在 masterDB 上

通过这些步骤,replicaDB 已经获得了与 masterDB 相同的数据。 然而,由于 cron 作业,一条新记录(id = 159)在“UNLOCK TABLES;”之后被插入到 masterDB 中。并且它在replicaDB中没有同步。 从id = 160开始,记录现在同步到replicaDB中。

我该如何解决这个问题?

master数据库:192.168.30.123

复制数据库:192.168.30.131

数据库:todo

复制用户:repli4

masterDB's set up
[mysqld]
 bind-address = 0.0.0.0
 binlog_format = ROW
 max_binlog_size = 128M
 expire_logs_days = 7
 log-error=/var/log/mysql/error.log
 log-bin-trust-function-creators = true
 log-bin
 binlog-format = mixed
 log-basename =master
 server_id = 1
 log_bin = /var/log/mysql/mysql-bin.log 
replicationDB's set up
[mysqld]
bind-address    = 0.0.0.0
binlog_format = ROW
max_binlog_size = 128M
expire_logs_days = 7
log-error=/var/log/mysql/error.log
log-bin-trust-function-creators = true

server_id = 5
slave-skip-errors = all
replicate-do-db = todo
read_only = ON
log_bin = mysql-bin
rpl_semi_sync_slave_enabled=ON

records in replicaDB

SHOW SLAVE STATUS/G

有人可以帮助我吗?

mysql database mariadb replication database-replication
1个回答
0
投票

您的副本似乎仍然可以从从属状态正常读取,只是数据不同步问题。这里最简单的事情就是重做备份和恢复。恢复后,您的副本应该与您的主数据匹配,并且您的复制设置应该不受影响。

    masterDB 上的
  1. FLUSH TABLES WITH READ LOCK;
  2. 通过
    mysqldump -uusername -p database_name > master_backup.sql
  3. 在 masterDB 上备份 master
  4. 通过
    mysql -uusername -p database_name < master_backup.sql
  5. 将备份导入replicaDB masterDB 上的
  6. UNLOCK TABLES;
© www.soinside.com 2019 - 2024. All rights reserved.