我正在尝试使用mysqldump
备份数据库,但我得到了这个错误:
Trying to backup MySQL database... mysqldump: Couldn't execute 'show create table `transaction_registry`':
Table 'mysql.transaction_registry' doesn't exist in engine (1932)
问题首先出现在innodb_index_stats
&innodb_table_stats
并按照指示工作,但又出现了另一个问题
我从这些1 - 2尝试,但仍然得到相同的错误,有什么想法吗?
我最后做的是这样的:
删除损坏的表:rm -rf /var/lib/mysql/mysql/transaction_registry.idb
重新创建表:
CREATE TABLE transaction_registry (
transaction_id bigint(20) unsigned NOT NULL,
commit_id bigint(20) unsigned NOT NULL,
begin_timestamp timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
commit_timestamp timestamp(6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000',
isolation_level enum('READ-UNCOMMITTED','READ-COMMITTED','REPEATABLE-READ','SERIALIZABLE') COLLATE utf8_bin NOT NULL, PRIMARY KEY (transaction_id),
UNIQUE KEY commit_id (commit_id), KEY begin_timestamp (begin_timestamp), KEY commit_timestamp (commit_timestamp,transaction_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0 ;
<我>裁判:https://mariadb.com/kb/en/mysqltransaction_registry-table/我>