小编Joh*_*ohn的帖子

将完整备份导入从属时出现重复记录错误,例如“Duplicate Entry for key 'PRIMARY', error code 1062”

我们正在使用主服务器的完整备份恢复我们的从服务器,并收到一堆重复的密钥错误。一旦从站被追上,它就不会抛出任何错误(只有当它落后于主站时)。我们复制所有数据库表。我们使用一个 MariaDB Galera 集群作为主,一个 MariaDB 实例作为从。

这些是完成的步骤:

  1. 通过检查变量获取 master 的 GTID "gtid_binlog_position"。保存此值。

  2. 使用以下命令备份 master:

    mysql -u -p --routines --triggers --single-transaction --gtid --master-data --dump-slave --add-drop-database <dbnames> | gzip > /tmp/backup.sql.gz.

    完成此备份大约需要 20 分钟。

  3. 将数据库导入从属。

  4. 运行RESET SLAVE ALL,并将 GTID 位置设置为第一步中的值。这是通过命令完成的SET GLOBAL gtid_slave_pos = "<gtid from step 1>";,然后CHANGE MASTER TO ...

在此之后,我收到"Duplicate Entry for key 'PRIMARY', error code 1062"错误。

这些是使用的设置:

 [mysqld]     
 innodb_buffer_pool_size = 6G
 gtid_domain_id=100
 log-slave-updates=true
 open_files_limit=1000000
 innodb_large_prefix = on
 innodb_file_format = barracuda
 innodb_file_per_table …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb galera

5
推荐指数
1
解决办法
1408
查看次数

标签 统计

galera ×1

mariadb ×1

mysql ×1