博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.1儿童节特别礼物,mysql同步失败
阅读量:6226 次
发布时间:2019-06-21

本文共 3010 字,大约阅读时间需要 10 分钟。

    今天是61儿童节,是一个很难忘的日子,早上9到公司上班,事来了,由于开发的疏忽,把一个库导入到从库里,然后当开发发现导错数据库服务器,也没向我们运维人员反映,当时查看了主库是没有数据,然后开发又在主库导了,结果同步出错,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
mysql> show slave status\G;
*************************** 1. row ***************************
               
Slave_IO_State: Waiting 
for 
master to send event
                  
Master_Host: 192.168.0.155
                  
Master_User: myslave
                  
Master_Port: 3306
                
Connect_Retry: 60
              
Master_Log_File: mysql-bin.000001
          
Read_Master_Log_Pos: 804
               
Relay_Log_File: relay-log-bin.000002
                
Relay_Log_Pos: 253
        
Relay_Master_Log_File: mysql-bin.000001
             
Slave_IO_Running: Yes
            
Slave_SQL_Running: No
              
Replicate_Do_DB: 
          
Replicate_Ignore_DB: 
           
Replicate_Do_Table: 
       
Replicate_Ignore_Table: 
      
Replicate_Wild_Do_Table: 
  
Replicate_Wild_Ignore_Table: 
                   
Last_Errno: 1008
                   
Last_Error: Error 
'Can'
t drop database 
'data'
; database doesn
't exist' 
on query. Default database: 
'data'
. Query: 
'drop database data'
                 
Skip_Counter: 0
          
Exec_Master_Log_Pos: 562
              
Relay_Log_Space: 949
              
Until_Condition: None
               
Until_Log_File: 
                
Until_Log_Pos: 0
           
Master_SSL_Allowed: No
           
Master_SSL_CA_File: 
           
Master_SSL_CA_Path: 
              
Master_SSL_Cert: 
            
Master_SSL_Cipher: 
               
Master_SSL_Key: 
        
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                
Last_IO_Errno: 0
                
Last_IO_Error: 
               
Last_SQL_Errno: 1008
               
Last_SQL_Error: Error 
'Can'
t drop database 
'data'
; database doesn
't exist' 
on query. Default database: 
'data'
. Query: 
'drop database data'
  
Replicate_Ignore_Server_Ids: 
             
Master_Server_Id: 1
1 row 
in 
set 
(0.00 sec)
 
提示:错误信息是无法撤销数据库,数据库不存在。',1008错误
从先创建了这个库,然后主又创建了,至此导致数据库同步冲突

解决方法:

1
2
3
stop slave;
set 
global sql_slave_skip_counter=1;
start slave;

从库状态:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
mysql> show slave status\G;
*************************** 1. row ***************************
               
Slave_IO_State: Waiting 
for 
master to send event
                  
Master_Host: 192.168.0.155
                  
Master_User: myslave
                  
Master_Port: 3306
                
Connect_Retry: 60
              
Master_Log_File: mysql-bin.000001
          
Read_Master_Log_Pos: 804
               
Relay_Log_File: relay-log-bin.000004
                
Relay_Log_Pos: 253
        
Relay_Master_Log_File: mysql-bin.000001
             
Slave_IO_Running: Yes
            
Slave_SQL_Running: Yes
              
Replicate_Do_DB: 
          
Replicate_Ignore_DB: 
           
Replicate_Do_Table: 
       
Replicate_Ignore_Table: 
      
Replicate_Wild_Do_Table: 
  
Replicate_Wild_Ignore_Table: 
                   
Last_Errno: 0
                   
Last_Error: 
                 
Skip_Counter: 0
          
Exec_Master_Log_Pos: 804
              
Relay_Log_Space: 553
              
Until_Condition: None
               
Until_Log_File: 
                
Until_Log_Pos: 0
           
Master_SSL_Allowed: No
           
Master_SSL_CA_File: 
           
Master_SSL_CA_Path: 
              
Master_SSL_Cert: 
            
Master_SSL_Cipher: 
               
Master_SSL_Key: 
        
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                
Last_IO_Errno: 0
                
Last_IO_Error: 
               
Last_SQL_Errno: 0
               
Last_SQL_Error: 
  
Replicate_Ignore_Server_Ids: 
             
Master_Server_Id: 1
1 row 
in 
set 
(0.00 sec)

已经ok了

1)对于普通的互联网业务,忽略问题不是很大。当然,要确认不影响公司业务的前提下。

2)企业场景解决主从同步,比主从不一致对前面更重要,然后如果主从数据一致也很重要,在找个时间恢复下这个从库。

主从数据不一致更重要还是保持主从同步持续状态更重要。这样我们要我们根据业务选择。

本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1931271

转载地址:http://vrnna.baihongyu.com/

你可能感兴趣的文章
Struts2--HelloWord
查看>>
linux C学习笔记05--信号量与共享内存(进程同步)
查看>>
go-mysql,一个易用的mysql接口框架实现
查看>>
POJ3320 Jessica's Reading Problem【尺取法】
查看>>
201671010117 2016-2017-2《Java程序设计》第八周学习Java心得
查看>>
画廊视图(Gallery)的功能和用法
查看>>
自己动手编写一个VS插件(七)
查看>>
Android里面的Toast
查看>>
mysql双机热备的实现
查看>>
前加绩中国、信雅达高级全栈工程师:吴劲松
查看>>
-bash: pod: command not found 解决办法
查看>>
GCD hdu1695容斥原理
查看>>
Node.js:回调函数
查看>>
python 发送邮件 <QQ+腾讯企业邮箱>
查看>>
细数JDK里的设计模式
查看>>
Linux~上部署.net MVC出现的问题与解决
查看>>
DDD~充血模型和失血模型
查看>>
android DPI与分辨率的关系及计算方式
查看>>
forward_list
查看>>
伪分布式网络爬虫框架的设计与自定义实现(一)
查看>>