Mysql数据库主从不同步解决案例

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

问题说明:做了Mysql的主从,还没做主从分离,导致同事在mysql从服务器执行了写入操作,引起不同步(show slave status\G;Slave_SQL_Running: No)

解决方法:

1,

1
2
3
4
Mysql > slave stop;
Mysql >  set  global sql_slave_skip_counter =1 ;
Mysql > slave start;
Mysql > show slave status\G

因为插入的数据不止是1条,操作太慢且麻烦

2,

在主查询show master status\G,再从这个点执行

change master to master_host='master_ip', master_user='user', master_password='pwd',  master_port=3306,  master_log_file='mysql-bin.00000*',  master_log_pos=000000***;

数据会丢的更多。


因此,还是选择第一种方法,不过set global sql_slave_skip_counter=500 把这个数值调大,一次跳过去500条,一直循环那4条语句,直到

Slave_IO_Running: Yes

Slave_SQL_Running: Yes


造成结果:这样操作的结果是丢失一些数据,不过少点,另外其中某一个表不同步了(因为有跳过从本来应该执行的语句),接下来解决这个问题,选择数据库插入频率很小的时候做,最好这时候不要有数据写入,以免影响生产环境(下面只是举例子说明解决步骤)

3,

用Navicat for MySQL登录主库,下面操作都是在主库进行

wKioL1PbMU_BkPRvAAMo-F26xnA808.jpg

1,在主库查询“SELECT COUNT(*) FROM date.table;”知道现在这个表有多少行,作为最后验证,选择“复制表”,复制后的表名称为 table_name_copy,复制的表数据也不会同步的

2,把复制的表导出,选择“转储SQL文件----结构和数据”,保存到硬盘上面

3,删除这个复制的表table_name_copy。在数据库右键选“运行SQL文件”,把刚才导出的数据再导入进去

wKiom1PbMOzB1BAAAADB04jtqr4962.jpg

现在的结果是刚导入的表table_name_copy主从肯定是同步的

4,关键的一步,继续查主库“SELECT COUNT(*) FROM date.table;” 看数据表有没有写入内容,如果没有写入,赶紧F2把table的名字改一下,3秒钟时间

table_name(数据对,没同步)改为table_name1

table_name_copy(趁着数据没写入table_name,已同步)改为table_name

再次“SELECT COUNT(*) FROM date.table;”查询,看有没有插入数据


5,总结,主从不同步会造成查询的数据不一致,做这个动作之前要和用这个表的人商量,保证不出现意外。主从做好了,要么做读写分离,要么控制权限,从只能查,没其他权限,这样才不会出问题










本文转自 bbotte 51CTO博客,原文链接:http://blog.51cto.com/bbotte/1533740,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
475 0
|
3天前
|
数据库 Windows
SqlServer数据恢复—SqlServer数据库所在分区损坏的数据恢复案例
一块硬盘上存放的SqlServer数据库,windows server操作系统+NTFS文件系统。由于误操作导致分区损坏,需要恢复硬盘里的SqlServer数据库数据。
|
22天前
|
监控 关系型数据库 MySQL
Flink CDC MySQL同步MySQL错误记录
在使用Flink CDC同步MySQL数据时,常见的错误包括连接错误、权限错误、表结构变化、数据类型不匹配、主键冲突和
67 16
|
20天前
|
存储 关系型数据库 MySQL
10个案例告诉你mysql不使用子查询的原因
大家好,我是V哥。上周与朋友讨论数据库子查询问题,深受启发。为此,我整理了10个案例,详细说明如何通过优化子查询提升MySQL性能。主要问题包括性能瓶颈、索引失效、查询优化器复杂度及数据传输开销等。解决方案涵盖使用EXISTS、JOIN、IN操作符、窗口函数、临时表及索引优化等。希望通过这些案例,帮助大家在实际开发中选择更高效的查询方式,提升系统性能。关注V哥,一起探讨技术,欢迎点赞支持!
112 5
|
1月前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
2月前
|
SQL 数据库
GBase8a 数据库集群v953扩容案例问题分享
GBase8a 数据库集群v953扩容案例问题分享
|
2月前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
2月前
|
存储 SQL 数据库
Sybase数据恢复—Sybase数据库常见问题之数据库无法启动的恢复案例
Sybase数据库数据恢复环境: Sybase数据库版本:SQL Anywhere 8.0。 Sybase数据库故障&分析: Sybase数据库无法启动。 使用Sybase Central连接报错。 数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,部分存储页底层数据完全杂乱。
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。