首页 > 数据库 >发现Mysql的主从数据库没有同步,差点凉凉了

发现Mysql的主从数据库没有同步,差点凉凉了

时间:2023-04-17 15:03:44浏览次数:69  
标签:status slave show Mysql 凉凉 master mysql Slave 主从

摘要:今天发现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 [email protected]:/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;


点击关注,第一时间了解华为云新鲜技术~

标签:status,slave,show,Mysql,凉凉,master,mysql,Slave,主从
From: https://blog.51cto.com/u_15214399/6195194

相关文章

  • windows系统mysql定时备份
    如下:一、创建bat任务脚本1.新建txt文档2.打开txt文档,并粘贴入以下内容3.按照自己的需求对内容进行修改,并删除掉//后内容以及中文空格,否则会运行失败4.保存,并将文件后缀修改为.bat格式5.双击测试程序是否能正常运行,如果正常,会弹出cmd运行窗口,运行完后会自动停止,此时会在路径下产......
  • mysql异常处理
    ################一、主从不一致误登录从库写入数据:第一步在从库上停掉SQL线程:stopslavesql_thread;磁盘空间不足:删除归档日志,保留30天,setglobalexpire_logs_days=15; PURGEMASTERLOGSBEFORE'2020-03-1500:00:00';purgebinarylogsbefore‘2020-08-0300:00:00’;清理......
  • 发现Mysql的主从数据库没有同步,差点凉凉了
    摘要:今天发现Mysql的主从数据库没有同步,瞬间整个人头皮发麻。本文分享自华为云社区《糟了,生产环境数据竟然不一致,人麻了!》,作者:冰河。今天发现Mysql的主从数据库没有同步先上Master库:mysql>showprocesslist;查看下进程是否Sleep太多。发现很正常。showmasterstatu......
  • 【MySQL】查看库与表的占用空间
    #查看各个库占用空间SELECTTABLE_SCHEMA,concat(TRUNCATE(sum(data_length)/1024/1024,2),'MB')ASdata_size,concat(TRUNCATE(sum(index_length)/1024/1024,2),'MB')ASindex_sizeFROMinformation_schema.TAB......
  • mysql入坑之路(12)windows 部署MySQL,tar方式手动添加服务进行程序管理
    1.“CTRL+R”打开运行窗口,输入regedit点击确定打开注册表编辑器2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services3.新建项MYSQL服务4.添加项内参数和值名称类型数据DisplayName编辑字符串值mysql-5.6ErrorControl编辑DWORD(32位)值1Imag......
  • mysql修改数据目录(datadir)
    1.修改配置文件datadir=新目录 2.数据迁移systemctlstopmysqldcp-a/var/lib/mysql/*/datachown-Rmysql.mysql/data3.重启服务systemctlrestartmysqld.service ......
  • 关于mysql报 loopWaitCount 0, wait millis 60001 错误的解决办法
    最近遇到个比较奇怪的问题,系统上线一段时间之后,总是隔一段时间就出现Tomcat连接数据库报错,导致系统无法运行。通过日志排查发现,里面报了一个错误,内容如下:12023-04-1700:01:05[ERROR][AcquireJobsRunnableImpl.java:77(run)]exceptionduringjobacquisition:Could......
  • MYSQL联表删除
    数据表r_userid:用户IDname:用户名称r_user_roleid:用户角色IDuser_id:用户IDrole_id:角色ID单表删除语法:DELETEFROMtable_name[WHEREClause]例1:删除ID为1的用户DELETEFROMr_userWHEREid=1联表删除语法:DELETEt1,t2,t3FROMt1JOIN......
  • MySQL8.0 优化器介绍(二)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:奥特曼爱小怪兽文章来源:GreatSQL社区投稿上一篇MySQL8.0优化器介绍(一)介绍了成本优化模型的三要素:表关联顺序,与每张表返回的行数(过滤效率),查询......
  • AlmaLinux 9 安装 MySQL 8.0.32
    1、配置安装源#安装dnfinstallhttp://mirrors.ustc.edu.cn/mysql-repo/mysql80-community-release-el9.rpm-y#修改配置sed-i's@http://repo.mysql.com/@http://mirrors.ustc.edu.cn/mysql-repo/@g'/etc/yum.repos.d/mysql-community*.repo2、安装MySQLdnfinst......