国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

innodb_index_stats導入備份數據時報錯表主鍵沖突的解決方法

2024-07-09 22:48:00
字體:
來源:轉載
供稿:網友

故障描述

percona5.6,mysqldump全備份,導入備份數據時報錯Duplicate entry 'hoc_log99-item_log_27-PRIMARY-n_diff_pfx01' for key 'PRIMARY'

故障原因

查看了下這個主鍵應該是MySQL系統庫下的系統表innodb_index_stats

mysql> show create table innodb_index_stats/G*************************** 1. row *************************** Table: innodb_index_statsCreate Table: CREATE TABLE `innodb_index_stats` ( `database_name` varchar(64) COLLATE utf8_bin NOT NULL, `table_name` varchar(64) COLLATE utf8_bin NOT NULL, `index_name` varchar(64) COLLATE utf8_bin NOT NULL, `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `stat_name` varchar(64) COLLATE utf8_bin NOT NULL, `stat_value` bigint(20) unsigned NOT NULL, `sample_size` bigint(20) unsigned DEFAULT NULL, `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=01 row in set (0.00 sec)mysql> select * from innodb_index_stats where database_name='hoc_log99' and table_name='item_log_27' and stat_name='n_diff_pfx01' and index_name='PRIMARY';+---------------+-------------+------------+---------------------+--------------+------------+-------------+------------------+| database_name | table_name | index_name | last_update | stat_name | stat_value | sample_size | stat_description |+---------------+-------------+------------+---------------------+--------------+------------+-------------+------------------+| hoc_log99 | item_log_27 | PRIMARY | 2016-10-07 18:44:06 | n_diff_pfx01 | 823672 | 20 | redid |+---------------+-------------+------------+---------------------+--------------+------------+-------------+------------------+1 row in set (0.00 sec)

再查看下我當時的備份文件sql的記錄,發現再導入這個表之前是會重建表的,排除了再導入這個表之前,有item_log_27 表的操作記錄進了innodb_index_stats的可能。

-- Table structure for table `innodb_index_stats`DROP TABLE IF EXISTS `innodb_index_stats`;CREATE TABLE `innodb_index_stats` (-- Dumping data for table `innodb_index_stats`LOCK TABLES `innodb_index_stats` WRITE;/*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */;

于是我又查看了下最近的binlog記錄,發現確實有重建這個表的操作

DROP TABLE IF EXISTS `innodb_index_stats` /* generated by server */CREATE TABLE `innodb_index_stats` (/*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */

結論

mysql 5.6的bug,也有其他同行遇到了一樣的錯誤

https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/31971-mysql-innodb_index_stats-duplication-entry-error-on-restore

https://bugs.mysql.com/bug.PHP?id=71814

解決辦法

1 mysqldump添加參數忽略這個表的備份

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松原市| 闽侯县| 淮北市| 周宁县| 云龙县| 衡阳县| 昌邑市| 桃源县| 定兴县| 滕州市| 册亨县| 乐至县| 平谷区| 洛南县| 沙坪坝区| 靖宇县| 玉环县| 噶尔县| 宣汉县| 广汉市| 昌图县| 喀什市| 古丈县| 屏南县| 会泽县| 龙游县| 广元市| 南开区| 枣强县| 杭州市| 宜章县| 宾川县| 玛曲县| 吉安县| 淮北市| 大厂| 浏阳市| 涡阳县| 麻阳| 沙洋县| 大石桥市|