简体   繁体   English

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

[英]Table 'mysql.transaction_registry' doesn't exist in engine (1932)

I am trying to backup a database using mysqldump but I got this error:我正在尝试使用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)

the problem first were with innodb_index_stats & innodb_table_stats and followed the instructions and worked well but got another problem问题首先出在innodb_index_statsinnodb_table_stats上并按照说明进行操作并且运行良好但遇到了另一个问题

I tried from these 1 - 2 , but still getting the same error, any ideas?我尝试了这些1 - 2 ,但仍然出现相同的错误,有什么想法吗?

what I ended doing is like that:我最后做的是这样的:

Removed corrupted tables:删除损坏的表:
rm -rf /var/lib/mysql/mysql/transaction_registry.idb

Recreated the table:重新创建表:

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 ;

Ref: https://mariadb.com/kb/en/mysqltransaction_registry-table/参考: https://mariadb.com/kb/en/mysqltransaction_registry-table/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM