表"mysql.transaction_registry"在引擎中不存在(1932)



我正在尝试使用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/

相关内容

  • 没有找到相关文章

最新更新