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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
如何将数据从MySQL同步到其他系统
【10月更文挑战第17天】如何将数据从MySQL同步到其他系统
186 0
|
3月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
104 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
2月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
50 3
|
2月前
|
SQL 关系型数据库 MySQL
案例剖析:MySQL唯一索引并发插入导致死锁!
案例剖析:MySQL唯一索引并发插入导致死锁!
118 0
案例剖析:MySQL唯一索引并发插入导致死锁!
|
2月前
|
SQL 关系型数据库 MySQL
案例剖析,MySQL共享锁引发的死锁问题!
案例剖析,MySQL共享锁引发的死锁问题!
|
2月前
|
消息中间件 关系型数据库 MySQL
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
153 0
|
27天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
51 2
|
2月前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
2月前
|
关系型数据库 MySQL 数据库
一个 MySQL 数据库死锁的案例和解决方案
本文介绍了一个 MySQL 数据库死锁的案例和解决方案。
75 3
|
2月前
|
存储 关系型数据库 MySQL
基于案例分析 MySQL 权限认证中的具体优先原则
【10月更文挑战第26天】本文通过具体案例分析了MySQL权限认证中的优先原则,包括全局权限、数据库级别权限和表级别权限的设置与优先级。全局权限优先于数据库级别权限,后者又优先于表级别权限。在权限冲突时,更严格的权限将被优先执行,确保数据库的安全性与资源合理分配。