如何使用Percona Toolkit解决Mysql主从不同步问题

如何使用Percona Toolkit解决Mysql主从不同步问题,第1张

由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类

1:备库写数据

2:执行non-deterministic query

3:回滚掺杂事务表和非事务表的事务

4:binlog或者relay log数据损坏

数据不同步给应用带来的危害是致命的,当出现主从数据不一致的情况,常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步,如果数据库的体积十分庞大,那工作量可想而知,会让人崩溃。本文介绍使用percona-toolkit工具对mysql主从数据库的同步状态进行检查和重新同步。

一:安装percona-toolkit

从库修改后,比如插入个id=5,那么当主再插入个id=5时,并且id是primary key,这不就出错了么。

所以还得看你在从库插入的是否相关的东东,你也可以在从库建立一个新的数据库,里面放些和主从不相关的测试表,并且在里面 *** 作数据,这些没有关系,不会产生什么影响,如果就是简单的主从结构的话。

--主机开两个窗口,一个进入mysql,一个是shell

--主机阻断写 *** 作

mysql> FLUSH TABLES WITH READ LOCK;

Query OK, 0 rows affected (000 sec)

mysql>

mysql>

mysql> SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin000002 | 1529881 | openser | mysql,test |

+------------------+----------+--------------+------------------+

1 row in set (000 sec)

--另外一个窗口导出主机数据库

mysqldump -u root -p123456 --opt -R openser > openser20121203sql

--刚才的窗口主机解锁

mysql> UNLOCK TABLES;

Query OK, 0 rows affected (000 sec)

mysql>

--打包数据文件到从机

drop database openser;

create database openser;

mysql -u root -p123456 openser < openser20121127sql

--从机 *** 作

SLAVE STOP;

reset slave;

CHANGE MASTER TO MASTER_HOST='1921682126',

MASTER_USER='repl_user',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin000002',

MASTER_LOG_POS=1529881;

start slave;

show slave status\G

以上就是关于如何使用Percona Toolkit解决Mysql主从不同步问题全部的内容,包括:如何使用Percona Toolkit解决Mysql主从不同步问题、MySQL在从库修改数据会影响主从同步吗、mysql通过什么保证主从数据的同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/9388014.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存