查看: 291|回复: 0

[FAQ] mysql从5.6升级到5.7遇到问题

[复制链接]
论坛徽章:
1
Oracle研习者初级
日期:2018-02-08 16:18:43
发表于 2018-5-31 14:24 | 显示全部楼层 |阅读模式

数据库 MySQL

升级5.6 3307  到  5.7 3307
1. 下载并解压 tar -zxvf  mySQL-5.7.22-Linux-glibc2.12-x86_64.tar.gz
2. 关闭5.6的数据库,备份数据文件,参数文件
3. 把PATH变量变更为现在5.7的bin路径
    这里启动时候报错缺少libaio*包(但实际是有的,卸载重装后正常)
4. 启动5.7数据库
   启动数据库:
   mysqld --defaults-file=/u01/app/mysql/mysql3307/config/my3307.cnf --user=mysql --basedir=/u01/app/mysql/mysql5.7 &
5. 检查是否启动成功
   ps -ef |grep mysqld | grep -v grep   检查是正常启动的
6. 正常登录  且 select version();  正常显示版本信息5.7.22-log   而且原来5.6建的表t1 能正常访问,数据条数也正常。
7. 升级数据字典  mysql_upgrade -uroot -p123456
   报错提示mysql库下的 innodb_  表不存在


对innodb_table_stats、innodb_index_stats、slave_relay_log_info、slave_master_info、slave_worker_info这五个表进行如下操作后   mysql_upgrade命令正常升级数据字典
1.进入mysql数据库对应的文件路径  对原有的*.frm  和 *.ibd进行备份
2.在脚本/u01/app/mysql/mysql5.7/share/mysql_system_tables.sql
中找对应的建表语句  重新建表


问题:
这五个表记录的是什么信息  表里面数据更新出发条件是什么   对数据库来说重要吗  如果是正式环境   可以使用这样的方式处理吗

目前已经知道:
innodb_table_stats   对整个库中所有innodb表进行统计
innodb_index_stats   对innodb中所有索引进行统计

这两个表感觉就不应该重建 或者从别的库拷贝   因为数据库如果表比较多  这两个表就算可以主动触发搜集信息  也会是一个很大的资源占用


请大虾们指导下

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2018-9-21 05:52 , Processed in 0.145910 second(s), 29 queries .