我已经将测试数据库备份转储到新创建的测试从属服务器,但无法启动复制。自转储以来,我只向主数据库添加了一条记录以尝试启动复制。我在从属服务器上遇到的错误是:
Last_SQL_Error: Error 'Can't create database 'products'; database exists' on query. Default database: 'products'. Query: 'create database products'
我尝试将 GTID 设置为下一个事务,但没有成功。任何指示都将不胜感激。
我的cnf
[mysqld]
server-id=4
gtid_mode=ON
enforce_gtid_consistency=ON
log_slave_updates=ON
replicate-ignore-db=mysql
binlog-format=ROW
log_bin=mysql-bin
expire_logs_days=1
read_only=ON
显示从属状态:
Last_SQL_Error: Error 'Can't create database 'products'; database exists' on query. Default database: 'products'. Query: 'create database products'
Retrieved_Gtid_Set: dd652f47-c162-11e7-ad42-42010a8005a4:1-29824
Executed_Gtid_Set: dd652f47-c162-11e7-ad42-42010a8005a4:1-5928
** 显示主状态 **
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 1426140
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: dd652f47-c162-11e7-ad42-42010a8005a4:1-5928
1 row in set (0.00 sec)
答案1
因此,如果有人遇到这个问题,下面是我解决问题的方法:
- 停止从属;
- 重置主机;
- 设置全局 GTID_PURGED="SET_THIS_TO_MY_MASTER_LAST_KNOWN_GTID";你可以通过运行来找到它
get master status
- 显示从属状态\G
欲了解更多信息,您可以查看这篇有用的文章:https://avdeo.com/2015/03/04/restoring-slave-when-gtid-is-enabled-on-master/