解决MySQL主从数据库没有同步的两种方法
作者:冰 河 发布时间:2024-01-15 03:34:44
标签:MySQL,主从,数据库,同步
目录
解决MySQL主从数据库没有同步的两种方法
一、不同步情况
二、解决方案
1.先进入主库,进行锁表,防止数据写入
2.进行数据备份
3.查看master 状态
4.把mysql备份文件传到从库机器,进行数据恢复
5.停止从库的状态
6.然后到从库执行mysql命令,导入数据备份
7.设置从库同步
8.重新开启从同步
9.查看同步状态
10.回到主库并执行如下命令解除表锁定。
解决MySQL主从数据库没有同步的两种方法
工作的过程中发现Mysql的主从数据库没有同步
一、不同步情况
Master库:
mysql>show processlist;
查看下进程是否Sleep太多。发现很正常。
show master status;
也正常。
mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)
再到Slave上查看
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
可见是Slave不同步
二、解决方案
下面介绍两种解决方法
方法一:忽略错误后,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
解决:
stop slave;
#表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;
start slave;
之后再用mysql> show slave status\G 查看
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
ok,现在主从同步状态正常了。。。
方式二:重新做主从,完全同步
该方法适用于主从库数据相差较大,或者要求数据完全统一的情况
解决步骤如下:
1.先进入主库,进行锁表,防止数据写入
使用命令:
mysql> flush tables with read lock;
注意:该处是锁定为只读状态,语句不区分大小写
2.进行数据备份
#把数据备份到mysql.bak.sql文件
mysqldump -uroot -p -hlocalhost > mysql.bak.sql
这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失。
3.查看master 状态
mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)
4.把mysql备份文件传到从库机器,进行数据恢复
scp mysql.bak.sql root@192.168.128.101:/tmp/
5.停止从库的状态
mysql> stop slave;
6.然后到从库执行mysql命令,导入数据备份
mysql> source /tmp/mysql.bak.sql
7.设置从库同步
设置从库同步时,注意该处的同步点,就是主库show master status信息里的| File| Position两项
change master to master_host = '192.168.128.100', master_user = 'rsync', master_port=3306, master_password='', master_log_file = 'mysqld-bin.000001', master_log_pos=3260;
8.重新开启从同步
mysql> start slave;
9.查看同步状态
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
10.回到主库并执行如下命令解除表锁定。
UNLOCK TABLES;
来源:https://blog.csdn.net/l1028386804/article/details/109712798
0
投稿
猜你喜欢
- 介绍本文将展示如何利用Python爬虫来实现诗歌接龙。该项目的思路如下:利用爬虫爬取诗歌,制作诗歌语料库;将诗歌分句,形成字典:键(key)
- 引言近期做一些基于TCP协议的项目,跟其他接口方调试时经常出现不一致的问题,而程序日志又不能完成保证公正,就只能通过tcpdump抓包的方式
- 实例代码:import tkinter as tk import tkinter.filedialogimport cv2def choos
- Matplotlib简述:Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D方面)。该项目是由JohnHunter于20
- 如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志。用下列方法可以强制服务器启用新的更
- 一、旧式的字符串格式化% 操作符参考以下示例:>>> name = "Eric">>>
- 几天前,想把上个月校园招聘的餐旅费报销一下。结果在公司内网的报销系统折腾了三个半小时才搞定。看看自己报销的金额:802块。觉得挺无奈,花了三
- 本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下:【吐槽】网上的
- 前言: Socket又称为套接字,它是所有网络通信的基础。网络通信其实就是进程间的通信,Socket主要是使用IP
- 我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时
- pprint – 美观打印作用:美观打印数据结构pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图。格式化工具会生成数据结
- 环境搭建准备工具:pyton3.5,selenium,phantomjs我的电脑里面已经装好了python3.5安装Seleniumpip3
- Python类的动态修改的实例方法相信很多朋友在编程的时候都会想修改一下已经写好的程序行为代码,而最常见的方式就是通过子类来重写父类的一些不
- 简介使用faker可以获取很多模拟数据,如:姓名、电话、地址、银行、汽车、条形码、公司、信用卡、email、user_agen等等学会使用这
- 如下所示:import cv2 # [1]导入OpenCv开源库import numpy as npimage_path = "F
- 疫情肆虐,憋在家实在无聊,索性写点东西,于是就有了这个极极极极极简的音乐播放器。这个极极极简的音乐播放器类似于“阅后即焚”的软件,播放器可以
- 起因是这样的,有一张表存在慢sql,查询耗时最多达到12s,定位问题后发现是由于全表扫描导致,需要对字段增加索引,但是表的数据量600多万有
- Howdy, 大家好,又是我~ 上一次我们简单的谈了一下font set和一些要注意的基本问题。今天我们继续字体这一话题,深入讲讲上次提到
- 今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法。http://docs.python.org/2/l
- K-means算法介绍简单来说,K-means算法是一种无监督算法,不需要事先对数据集打上标签,即ground-truth,也可以对数据集进