mysql5.6安装 mysql.slave_master_info表不存在的解决方法
来源:互联网 发布:淘宝收藏领券怎么设置 编辑:程序博客网 时间:2024/06/05 02:00
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)重新启动数据库
注:这一步是必须的,否则无法正常配置双主架构。
- mysql5.6安装 mysql.slave_master_info表不存在的解决方法
- mysql5.6安装 mysql.slave_master_info表不存在的解决方法
- MYSQL innodb_table_stats表不存在的解决方法
- Mysql| Mysql5.6软件的安装
- 出现"/var/lib/mysql/mysql.sock“不存在的解决方法
- 出现"/var/lib/mysql/mysql.sock“不存在的解决方法
- mysql启动提示mysql.host 不存在,启动失败的解决方法
- mysql启动提示mysql.host 不存在,启动失败的解决方法
- mysql启动提示mysql.host 不存在,启动失败的解决方法
- mysql5.6安装mysql-workbench
- 如何重装mysql5.5 (无法安装mysql,卡在start service环节的解决方法)
- mysql5.6的安装
- mysql 提示表不存在的解决方法error: 1146: Table doesn't exist
- MySQL之——提示表不存在的解决方法error: 1146: Table doesn't exist
- mysql 提示表不存在的解决方法error: 1146: Table doesn't exist
- 基于MySQL提供的Yum repository安装MySQL5.6
- 【MySQL】MySQL5.6安装最后一步错误
- Mysql : Mysql5.6 Linux6.5安装
- ORACLE的JDBC连接方式:OCI和THIN
- 【转】[Delphi]使用TMemoryStream保存多张图片到文件,并读取
- 悟“管理”
- 锐度
- MFC透明桌面flash金鱼
- mysql5.6安装 mysql.slave_master_info表不存在的解决方法
- [C++] 将LONG类型的color值转换为RGB值
- OSI 7层详解
- 成为Linux内核高手的四个方法
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- nginx模块开发的有用链接
- Chrome 扩展开发之消息传递
- NodeJs:module.filename、__filename、__dirname、process.cwd()和require.main.filename 解惑
- android实现使用绘图作出一种裁剪任意多边形快速算法