这解决了我的问题。
/ *临时修复Windows 7计算机上MysqL5.6.10的Windows安装程序的问题。我在干净安装的MysqL上执行了该过程,并且对我有用,至少它停止了日志中的innodb错误行以及使用了瞬态innodb表。因此,风险自负。
从MysqL删除这些表:innodb_index_stats innodb_table_stats slave_master_infoslave_relay_log_info slave_worker_info
删除上表中的所有.frm和.ibd。
运行该文件以重新创建上面的表(源代码5-tables.sql)。
重启MysqLd。CNL干杯* /
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’;解决方法
我在mysql 5.6社区版中遇到以下错误:
:错误: 表“ mysql”。“ innodb_table_stats” 未找到。InnoDB:重新计算表“ mydatabase”请求的持久性统计信息。“ mytable” 但所需的持久统计信息存储不存在或已损坏。 而是使用瞬态统计信息。
如何解决此错误?