我先用show master status; 在主机上查看了master_log_pos是643530781。 然后马上导出全部数据,导出完了恢复到从机上, change master to master_host=’*****’,master_port=3506,master_user=’root’,master_password=’*****’,master_log_file=’mysql-bin.000001′,master_log_pos=643530781; start slave; Last_SQL_Error: Could not execute Write_rows event on table 表名; Duplicate entry ‘1544986975042408448’ for key ‘PRIMARY’, Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event’s master log mysql-bin.000001, end_log_pos 643531187 然后是这个错误,这是因为我查看了pos的值后,然后导出,数据库又有新的添加了。我记得pos值,不是我导出数据的值,是这个意思吧?只能让数据库没有新增,然后导出再弄么? |
两个方法,一个用命令导出sql,里面有pos的值,直接用,就算有新增也没关系,第二个show master status;之前先锁主库写入,网上有sql,自行搜索 |
导出用的下面命令,文件开头好像没写pos值,怎么弄呢。求助。 |
高级玩法,求教程。 |
会了。加个–master-data=2 导出 |
现在应该使用 GTID 方式,不用再关注 log position。配置更简单,健壮性也更强了。网上文档已经很多了,可以参考一下 |