mysql_upgrade失败-innodb表不存在?
这是MySQL 5.6中的一个已知错误,在此处记录。
根据对错误报告的答复,可以手动创建丢失的表。缺少表的结构在此处作为附件提供。
遵循的步骤:
1)从MySQL删除这些表:
innodb_index_stats innodb_table_stats slave_master_info slave_relay_log_info slave_worker_info 2)删除*.frm和*.ibd归档上述5个表。
3)通过运行以下查询来创建表:
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=0;
CREATE TABLE innodb_table_stats
( database_name
varchar(64) COLLATE utf8_bin NOT NULL, table_name
varchar(64) COLLATE utf8_bin NOT NULL, last_update
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, n_rows
bigint(20) unsigned NOT NULL, clustered_index_size
bigint(20) unsigned NOT NULL, sum_of_other_index_sizes
bigint(20) unsigned NOT NULL, PRIMARY KEY (database_name
,table_name
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE slave_master_info
( Number_of_lines
int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.', Master_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.', Master_log_pos
bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.', Host
char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'The host name of the master.', User_name
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.', User_password
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.', Port
int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.', Connect_retry
int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.', Enabled_ssl
tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.', Ssl_ca
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.', Ssl_capath
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.', Ssl_cert
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.', Ssl_cipher
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.', Ssl_key
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.', Ssl_verify_server_cert
tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.', Heartbeat
float NOT NULL, Bind
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server', Ignored_server_ids
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs', Uuid
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.', Retry_count
bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.', Ssl_crl
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)', Ssl_crlpath
text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files', Enabled_auto_position
tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.', PRIMARY KEY (Host
,Port
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';
CREATE TABLE slave_relay_log_info
( Number_of_lines
int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.', Relay_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.', Relay_log_pos
bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.', Master_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.', Master_log_pos
bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.', Sql_delay
int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.', Number_of_workers
int(10) unsigned NOT NULL, Id
int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.', PRIMARY KEY (Id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';
CREATE TABLE slave_worker_info
( Id
int(10) unsigned NOT NULL, Relay_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Relay_log_pos
bigint(20) unsigned NOT NULL, Master_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Master_log_pos
bigint(20) unsigned NOT NULL, Checkpoint_relay_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Checkpoint_relay_log_pos
bigint(20) unsigned NOT NULL, Checkpoint_master_log_name
text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL, Checkpoint_master_log_pos
bigint(20) unsigned NOT NULL, Checkpoint_seqno
int(10) unsigned NOT NULL, Checkpoint_group_size
int(10) unsigned NOT NULL, Checkpoint_group_bitmap
blob NOT NULL, PRIMARY KEY (Id
) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information'; 4)重新启动MySQL服务器。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。