如手误在从节点上建立个数据库了,主节点上没有这个数据库,是不允许发生这种事情的,
如先在从节点上创建create database a1;,然后在主节点上创建create database a1;一模一样的库的时候
查询服务器状态:show slave statusG
1 show slave statusG
2 *************************** 1. row ***************************
3 Slave_IO_State: Waiting for master to send event
4 Master_Host: 192.168.1.7
5 Master_User: alex
6 Master_Port: 3306
7 Connect_Retry: 60
8 Master_Log_File: mysql-bin.000008
9 Read_Master_Log_Pos: 671
10 Relay_Log_File: mariadb-relay-bin.000003
11 Relay_Log_Pos: 876
12 Relay_Master_Log_File: mysql-bin.000008
13 Slave_IO_Running: Yes
14 Slave_SQL_Running: No
15 Replicate_Do_DB:
16 Replicate_Ignore_DB:
17 Replicate_Do_Table:
18 Replicate_Ignore_Table:
19 Replicate_Wild_Do_Table:
20 Replicate_Wild_Ignore_Table:
21 Last_Errno: 1007
22 Last_Error: Error 'Can't create database 'a1'; database exists' on query. Default database: 'a1'. Query: 'create database a1'
23 Skip_Counter: 0
24 Exec_Master_Log_Pos: 592
25 Relay_Log_Space: 1535
26 Until_Condition: None
27 Until_Log_File:
28 Until_Log_Pos: 0
29 Master_SSL_Allowed: No
30 Master_SSL_CA_File:
31 Master_SSL_CA_Path:
32 Master_SSL_Cert:
33 Master_SSL_Cipher:
34 Master_SSL_Key:
35 Seconds_Behind_Master: NULL
36 Master_SSL_Verify_Server_Cert: No
37 Last_IO_Errno: 0
38 Last_IO_Error:
39 Last_SQL_Errno: 1007
40 Last_SQL_Error: Error 'Can't create database 'a1'; database exists' on query. Default database: 'a1'. Query: 'create database a1'
41 Replicate_Ignore_Server_Ids:
42 Master_Server_Id: 1
会在从服务器上报错
而此时在主服务上在做如MariaDB [(none)]> create database f1;,在从服务上就开始不复制了,两边数据不成功同步了。
如果只是这么简单的错误的话,可以通过drop database a1 ,关闭线程,stop slave ,然后重新启动线程start slave
如果不知道是什么原因导致的,如是一条命令的冲突,可以直接把这条记录删掉,先忽悠掉这个数据
sql_slave_skip_counter = N 从服务器忽略几个主服务器的复制事件,global变量
先停止复制
stop slave;
忽略一个错误
set global sql_slave_skip_counter = 1;
启动线程
start slave;
临时跳过了这个问题,记录少的话,手工更改,记录多的话,在其他电脑上做从节点,重新来
也可以忽略故障号:如这个1007
show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.7
Master_User: alex
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000008
Read_Master_Log_Pos: 1221
Relay_Log_File: mariadb-relay-bin.000003
Relay_Log_Pos: 876
Relay_Master_Log_File: mysql-bin.000008
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: 1007
Last_Error: Error 'Can't create database 'a1'; database exists' on query. Default database: 'a1'. Query: 'create database a1'
修改配置文件
vim /etc/my.cnf
slave-skip-errors=1007
----------多个可以用逗号隔开
slave-skip-errors=1007,1062
systemctl restart mariadb 重启服务器,重启服务器也会重启线程,除了第一次不会自动重启线程