zoukankan      html  css  js  c++  java
  • [转载] mysql5.6 删除之前的ibdata1文件后再重新生成,遇到[Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.问题

    [转载] mysql5.6 删除之前的ibdata1文件后再重新生成,遇到[Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.问题
    转载:http://blog.csdn.net/wxc20062006/article/details/17999407

    1.在安装mysql 5.6.15时,安装完成后,后台日志报如下警告信息:

    2014-01-08 13:47:34 22946 [Warning] InnoDB: Cannot open table mysql/slave_master_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.

    2014-01-08 13:47:34 22946 [Warning] Info table is not ready to be used. Table 'mysql.slave_master_info' cannot be opened.
    2014-01-08 13:47:34 22946 [Warning] InnoDB: Cannot open table mysql/slave_worker_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
    2014-01-08 13:47:34 22946 [Warning] InnoDB: Cannot open table mysql/slave_relay_log_info from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
    2014-01-08 13:47:34 22946 [Warning] Info table is not ready to be used. Table 'mysql.slave_relay_log_info' cannot be opened.
    .......
    2014-01-08 13:49:33 22946 [Warning] InnoDB: Cannot open table mysql/innodb_index_stats from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.
    2014-01-08 13:49:49 7f3ae82a5700  InnoDB: Error: table `mysql`.`innodb_index_stats` does not exist in the InnoDB internal



    2.问题产生原因:具体原因目前不详,网上查找到的资料:数据库打开这几张表的默认引擎为MyISAM,但是这几张表在建表时的引擎为INNODB

    但是能确定的,这几张表确实是在mysql5.6中新入的

    innodb_index_stats,

    innodb_tables_stats,

    slave_master_info,

    slave_relay_log_info,

    slave_worker_info 



    3.解决方法:

    (1) 登录数据库,进入mysql库,执行如下SQL删除5张表

    记住,一定要是drop table if exists

    drop table if exists innodb_index_stats;
    drop table if exists innodb_table_stats;
    drop table if exists slave_master_info;
    drop table if exists slave_relay_log_info;
    drop table if exists slave_worker_info;

    如下是执行的结果,忽略你看到的Warning信息

    admin@localhost : mysql 02:12:26> drop table if exists innodb_index_stats;

    Query OK, 0 rows affected, 1 warning (0.00 sec)

    Warning (Code 155): Table 'mysql.innodb_index_stats' doesn't exist
    admin@localhost : mysql 02:12:26> drop table if exists innodb_table_stats;
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    Warning (Code 155): Table 'mysql.innodb_table_stats' doesn't exist
    admin@localhost : mysql 02:12:26> drop table if exists slave_master_info;
    Query OK, 0 rows affected, 1 warning (0.00 sec)


    Warning (Code 155): Table 'mysql.slave_master_info' doesn't exist
    admin@localhost : mysql 02:12:27> drop table if exists slave_relay_log_info;
    Query OK, 0 rows affected, 1 warning (0.00 sec)


    Warning (Code 155): Table 'mysql.slave_relay_log_info' doesn't exist
    admin@localhost : mysql 02:12:27> drop table if exists slave_worker_info;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    Warning (Code 155): Table 'mysql.slave_worker_info' doesn't exist

    执行完后,可以用show tables查看一下,看表的数据是否已经比删除之前减少了,如果减少了,说明你成功了!

    (2)面这一部操作完成后,停止数据库,并进入到数据库数据文件所在目录,删除表面5个表所对应的idb文件,如下所示:

    [mysql@test /data/mysqldata3/mydata/mysql]ls *.ibd
    innodb_index_stats.ibd  innodb_table_stats.ibd  slave_master_info.ibd  slave_relay_log_info.ibd  slave_worker_info.ibd
    [mysql@teset /data/mysqldata3/mydata/mysql]rm -f *.ibd



    (3) 重新启动数据库,进入到mysql库,重建上面被删除的表结构:

    数据库的建设表脚本在mysql软件的安装目录的share目录下,我的mysql软件的安装路径为/usr/test/mysql

    admin@localhost : (none) 02:23:03> use mysql
    Database changed

    如下是执行建表脚本前表的数量:

    admin@localhost : mysql 02:23:48> source /usr/test/mysql/share/mysql_system_tables.sql

    admin@localhost : mysql 02:23:50> show tables;
    +---------------------------+
    | Tables_in_mysql           |
    +---------------------------+
    | columns_priv              |
    | db                        |
    | event                     |
    | func                      |
    | general_log               |
    | help_category             |
    | help_keyword              |
    | help_relation             |
    | help_topic                |
    | ndb_binlog_index          |
    | plugin                    |
    | proc                      |
    | procs_priv                |
    | proxies_priv              |
    | servers                   |
    | slow_log                  |
    | tables_priv               |
    | time_zone                 |
    | time_zone_leap_second     |
    | time_zone_name            |
    | time_zone_transition      |
    | time_zone_transition_type |
    | user                      |
    +---------------------------+
    23 rows in set (0.00 sec)

    如下为执行建表脚本后,表的数量

    admin@localhost : mysql 02:23:46> show tables;
    +---------------------------+
    | Tables_in_mysql           |
    +---------------------------+
    | columns_priv              |
    | db                        |
    | event                     |
    | func                      |
    | general_log               |
    | help_category             |
    | help_keyword              |
    | help_relation             |
    | help_topic                |
    | innodb_index_stats        |
    | innodb_table_stats        |
    | ndb_binlog_index          |
    | plugin                    |
    | proc                      |
    | procs_priv                |
    | proxies_priv              |
    | servers                   |
    | slave_master_info         |
    | slave_relay_log_info      |
    | slave_worker_info         |
    | slow_log                  |
    | tables_priv               |
    | time_zone                 |
    | time_zone_leap_second     |
    | time_zone_name            |
    | time_zone_transition      |
    | time_zone_transition_type |
    | user                      |
    +---------------------------+
    28 rows in set (0.00 sec)

    (4) 用show create table命令查看表时,也完正常,后台日志中也不再报与上面提到的5张表相关的错误,到此,问题全部解决!





    后记:在后面的环境中,配置双主架构时,又遇到了如下问题:

    error:
    ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
    最后通过如下的操作解决的问题,具体原因还尚未清楚

    (1)登录数据库后,删除5张表,并重新导入脚本
    use mysql
    drop table  slave_master_info;
    drop table  slave_relay_log_info;
    drop table  slave_worker_info;
    drop table  innodb_index_stats;
    drop table  innodb_table_stats;
    source /usr/coolpad/mysql/share/mysql_system_tables.sql

    (2)重新启动数据库

    注:这一步是必须的,否则无法正常配置双主架构。




  • 相关阅读:
    Java+7入门经典 -1 简介
    优化算法动画演示Alec Radford's animations for optimization algorithms
    如何写科技论文How to write a technical paper
    开始学习深度学习和循环神经网络Some starting points for deep learning and RNNs
    用500行Julia代码开始深度学习之旅 Beginning deep learning with 500 lines of Julia
    用10张图来看机器学习Machine learning in 10 pictures
    ICLR 2013 International Conference on Learning Representations深度学习论文papers
    ICLR 2014 International Conference on Learning Representations深度学习论文papers
    卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
    卷积神经网络Convolutional Neural Networks
  • 原文地址:https://www.cnblogs.com/djinmusic/p/4174270.html
Copyright © 2011-2022 走看看