GTID复制报错处理:Last_Error: Error 'Can't drop database 'test';

来源:这里教程网 时间:2026-03-01 15:56:11 作者:

Mysql GTID复制报错处理:Last_Error: Error 'Can't drop database 'test'; database doesn't

报错显示:

Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Error: Error 'Can't drop database 'test'; database doesn't exist' on query. Default database: 'test'. Query: 'drop database test'
Retrieved_Gtid_Set: 988b8684-3e21-22e6-a801-24505689c77d:1-9
Executed_Gtid_Set: 
查看主库上的binlog日志,查找drop database test相关的日志:
# at 151
#160630  1:55:19 server id 623306  end_log_pos 199 CRC32 0x5954bb4c     GTID [commit=yes]
SET @@SESSION.GTID_NEXT= '988b8684-3e21-22e6-a801-24505689c77d:1'/*!*/;
# at 199
#160630  1:55:19 server id 623306  end_log_pos 284 CRC32 0x6db10369     Query    thread_id=1    exec_time=0    error_code=0
SET TIMESTAMP=1467222919/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1073741824/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=83,@@session.collation_connection=83,@@session.collation_server=83/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
drop database test
/*!*/;
问题找到了,drop database test对应的事务号是1,接下来就简单了,按如下操作执行:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> set gtid_next="988b8684-3e21-22e6-a801-24505689c77d:1";
Query OK, 0 rows affected (0.00 sec)
mysql> begin;commit; 
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
mysql> set gtid_next="AUTOMATIC";
Query OK, 0 rows affected (0.00 sec)
mysql> start slave; 
Query OK, 0 rows affected (0.00 sec)
查看结果:
mysql> show slave status\G
 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes
 Retrieved_Gtid_Set: 988b8684-3e21-22e6-a801-24505689c77d:1-9
 Executed_Gtid_Set: 988b8684-3e21-22e6-a801-24505689c77d:1-9

相关推荐