首页 > 数据库 >系统表不存在执行升级(mysql_upgrade)操作报错误的解决办法(5.6升级到5.7)

系统表不存在执行升级(mysql_upgrade)操作报错误的解决办法(5.6升级到5.7)

时间:2024-02-21 09:56:22浏览次数:40  
标签:upgrade 5.6 home 升级 innodb mysql mysql57 root

环境:
OS:Centos 7
原db:5.6
新db:5.7

 

执行升级命令报如下错误

[root@hadoop-slave1 mysql]# /home/middle/mysql57/bin/mysql_upgrade -s -h localhost -pyeemiao3040 -P13306 -S /home/middle/mysql57/data/mysql.sock
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
The --upgrade-system-tables option was used, databases won't be touched.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: [ERROR] 1050: Table '`mysql`.`innodb_index_stats`' already exists

 

1.查看当前目录下是否有以下表的frm文件和ibd文件
innodb_table_stats
innodb_index_stats
slave_master_info
slave_relay_log_info
slave_worker_info

 

[root@hadoop-slave1 mysql]# pwd
/home/middle/mysql57/data/mysql

[root@hadoop-slave1 mysql]# ls -al *innodb_table_stats*
-rw-r----- 1 mysql mysql 65536 2月  21 08:57 innodb_table_stats.ibd

[root@hadoop-slave1 mysql]# ls -al *innodb_index_stats*
ls: 无法访问*innodb_index_stats*: 没有那个文件或目录

[root@hadoop-slave1 mysql]# ls -al *slave_master_info*
ls: 无法访问*slave_master_info*: 没有那个文件或目录

[root@hadoop-slave1 mysql]# ls -al *slave_relay_log_info*
ls: 无法访问*slave_relay_log_info*: 没有那个文件或目录

[root@hadoop-slave1 mysql]# ls -al *slave_worker_info*
ls: 无法访问*slave_worker_info*: 没有那个文件或目录

 

针对innodb_table_stats表,只有ibd文件,但是没有frm文件,我们将ibd文件删除掉,这5个表的ibd和frm文件全部从其他正常的节点拷贝过来.
[root@hadoop-slave1 mysql]# rm innodb_table_stats.ibd

 

2.拷贝正常机器(正常机器的mysql建议关闭)的文件到当前的机器
找一台版本一致的数据库,好像版本不一致也可以
我这里从5.6版本的拷贝到5.7(以5.7启动,但是未执行mysql_upgrade)

 

scp /var/lib/mysql/mysql/innodb_table_stats.frm [email protected]:/tmp/
scp /var/lib/mysql/mysql/innodb_table_stats.ibd [email protected]:/tmp/

scp /var/lib/mysql/mysql/innodb_index_stats.frm [email protected]:/tmp/
scp /var/lib/mysql/mysql/innodb_index_stats.ibd [email protected]:/tmp/


scp /var/lib/mysql/mysql/slave_master_info.frm [email protected]:/tmp/
scp /var/lib/mysql/mysql/slave_master_info.ibd [email protected]:/tmp/


scp /var/lib/mysql/mysql/slave_relay_log_info.frm [email protected]:/tmp/
scp /var/lib/mysql/mysql/slave_relay_log_info.ibd [email protected]:/tmp/

scp /var/lib/mysql/mysql/slave_worker_info.frm [email protected]:/tmp/
scp /var/lib/mysql/mysql/slave_worker_info.ibd [email protected]:/tmp

 

3.停掉数据库
/home/middle/mysql57/bin/mysqladmin -h localhost -uroot -P13306 -pyeemiao3040 -S /home/middle/mysql57/data/mysql.sock shutdown

 

4.拷贝文件到相应目录
cp /tmp/innodb_index_stats.frm /home/middle/mysql57/data/mysql/
cp /tmp/innodb_index_stats.ibd /home/middle/mysql57/data/mysql/

 

5.修改权限
chown -R mysql:mysql /home/middle/mysql57

 

6.启动
/home/middle/mysql57/bin/mysqld_safe --defaults-file=/home/middle/mysql57/conf/my.cnf --user=mysql &

 

7.登录查看

/home/middle/mysql57/bin/mysql -h localhost -uroot -P13306 -pyeemiao3040 -S /home/middle/mysql57/data/mysql.sock

mysql> desc innodb_index_stats;         
+------------------+---------------------+------+-----+-------------------+-----------------------------+
| Field            | Type                | Null | Key | Default           | Extra                       |
+------------------+---------------------+------+-----+-------------------+-----------------------------+
| database_name    | varchar(64)         | NO   | PRI | NULL              |                             |
| table_name       | varchar(64)         | NO   | PRI | NULL              |                             |
| index_name       | varchar(64)         | NO   | PRI | NULL              |                             |
| last_update      | timestamp           | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| stat_name        | varchar(64)         | NO   | PRI | NULL              |                             |
| stat_value       | bigint(20) unsigned | NO   |     | NULL              |                             |
| sample_size      | bigint(20) unsigned | YES  |     | NULL              |                             |
| stat_description | varchar(1024)       | NO   |     | NULL              |                             |
+------------------+---------------------+------+-----+-------------------+-----------------------------+
8 rows in set (0.01 sec)

mysql> select * from innodb_index_stats limit 1;
+----------------+------------+------------+---------------------+--------------+------------+-------------+------------------+
| database_name  | table_name | index_name | last_update         | stat_name    | stat_value | sample_size | stat_description |
+----------------+------------+------------+---------------------+--------------+------------+-------------+------------------+
| ApolloConfigDB | App        | AppId      | 2019-05-29 13:35:36 | n_diff_pfx01 |          8 |           1 | AppId            |
+----------------+------------+------------+---------------------+--------------+------------+-------------+------------------+
1 row in set (0.00 sec)

 

8.继续执行升级操作

[root@hadoop-slave1 mysql]# /home/middle/mysql57/bin/mysql_upgrade -s -h localhost -pyeemiao3040 -P13306 -S /home/middle/mysql57/data/mysql.sock
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
The --upgrade-system-tables option was used, databases won't be touched.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: [ERROR] 1050: Table '`mysql`.`slave_relay_log_info`' already exists

按照上面的步骤继续处理 slave_relay_log_info 表

 

9.最后升级成功

[root@hadoop-slave1 mysql]# /home/middle/mysql57/bin/mysql_upgrade -s -h localhost -pyeemiao3040 -P13306 -S /home/middle/mysql57/data/mysql.sock
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
The --upgrade-system-tables option was used, databases won't be touched.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Upgrading the sys schema.
Upgrade process completed successfully.
Checking if update is needed.

 

标签:upgrade,5.6,home,升级,innodb,mysql,mysql57,root
From: https://www.cnblogs.com/hxlasky/p/18024524

相关文章

  • 苹果科技春晚!iPhone 16系列看点汇总:设计、性能和iOS都升级了
    历年的苹果特别活动都能称得上是“科技圈春晚”,不知道果粉们对今年的iPhone 15系列都满意吗?反正从市场成绩上看,iPhone15系列的销量在国内市场已经不再保持领先地位,23年12月的市场份额同比减少17.7%之多,看来不满意,没换机的果粉还是占了多数。现在的消费者们已经不再满足于简单的......
  • seafile升级最新版注意事项(11.05版本为例)
    seafile升级最新版注意事项(11.05版本为例)笔者以当前最新版11.05为例,以下内容为亲测‍1、docker-compose.yml文件不能使用seafileltd/seafile-mc:latest,得用seafileltd/seafile-mc:11.05,具体原因不明,seafileltd/seafile-mc:latest现在是8.07的版本2、升级后会......
  • seafile升级最新版注意事项(11.05版本为例)
    seafile升级最新版注意事项(11.05版本为例)笔者以当前最新版11.05为例,以下内容为亲测‍1、docker-compose.yml文件不能使用seafileltd/seafile-mc:latest,得用seafileltd/seafile-mc:11.05,具体原因不明,seafileltd/seafile-mc:latest现在是8.07的版本2、升级后会......
  • openssh漏洞修复之升级openssh与openssl
    下载Openssh和Opensslwgetftp://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/wgethttps://www.openssl.org/source/openssl-1.1.1h.tar.gz安装Openssltar-zxfopenssl-1.1.1h.tar.gzcdopenssl-1.1.1h./config--prefix=/usr/local/openssl-1.1.1-dsharedmake......
  • 鸿蒙Next怎么升级更便捷?
    早在2023年11月,市场上有自媒体博主表示,华为HarmonyOSNEXT的升级计划是2X年底到2X年初完成一亿部,2X年底完成三亿部。虽然该博主没有明确具体年份,但预计是2024年底2025年初升级一亿部HarmonyOSNEXT设备,2025年底完成三亿部。  紧接着,2024年1月18日,华为的开发者(HDC)大会......
  • windows7 系统ie9升级到ie11
      1、尝试通过windows7系统自带的WindowsUpdate来升级     控制面板》系统和安全》windowsUpdate》检查更新     启动WindowsUpdate服务     报错:       windows无法启动WindowsUpdate服务        错误......
  • 基于MCU的差分增量FOTA升级可用方案记录
    差分FOTA优点:占用空间小,非常适合用于lora,nbiot等慢速低数据量的升级用,相比全量升级的传输大小空间基本都有量级的节省。缺点:生产差分文件时需要基于上一版本,前后版本差异太大有的差分fota算法并不能很好的差分。难点:mcu一般flash空间和ram空间都很小,开源的大部分早期基本都是......
  • pg小版本升级 15.4
    目录一、介绍二、环境准备三、安装包准备3.1下载安装包3.2上传与解压软件包四、升级数据库4.1从库2上进行安装4.1.1当前版本是15.0,关闭数据库4.1.2执行config,make,makeinstall等源码编译的命令4.1.3至此软件升级完毕,查询一下升级后软件的版本4.1.4启动一下standb......
  • 让金融服务便捷、好用,中电金信以“智”赋能银行网点升级
    ​随着数字技术驱动,银行的服务触点越加多元,服务体验不断升级。传统的线下银行网点,正加速向数字化、智慧化升级。近年来,一大批更高效、更好用的新型态智慧网点不断涌现。作为金融科技领军企业,中电金信多年深耕智慧网点平台领域,拥有从规划咨询、创新设计、落地实施、生态运营的全方......
  • CentOS 7 系统更新和内核升级
    #先安装必要的wget和vim功能,以免出现问题yuminstall-ywgetvim更新yum源cd/etc/yum.repos.d/rm-rf/etc/yum.repos.d/*.repowget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repowget-O/etc/yum.repos.d/epel.repohttps://m......