MySQL启动后版本号居然不对?

域名2025-11-05 08:38:218

1. 异常描述

使用xtrabackup对主库进行备份,动后对在从节点主机上进行恢复,版本并将还原后的号居实例部署为主库的从节点。在启动介质与主库版本一致的动后对情况下,启动主从同步后,版本日志出现如下错误:

复制2022-10-30T11:44:17.442001Z 296 [ERROR] InnoDB: Column table_name in table `mysql`.`innodb_table_stats` is 号居VARCHAR(597) NOT NULL but should be VARCHAR(192) NOT NULL (length mismatch

).

2022-10-30T11:44:17.442029Z 296 [ERROR] InnoDB: Fetch of persistent statistics requested for table `testdb1`.`tb1` but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead

.

2022-10-30T11:44:17.567223Z 296 [ERROR] InnoDB: Column table_name in table `mysql`.`innodb_table_stats` is VARCHAR(597) NOT NULL but should be VARCHAR(192) NOT NULL (length mismatch

).

2022-10-30T11:44:17.567240Z 296 [ERROR] InnoDB: Fetch of persistent statistics requested for table `testdb2`.`tb1` but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.1.2.3.4.

以上错误一般都是数据库版本不一致导致。但是动后对查看启动命令是正常的

复制/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/app/data/mysql3307/etc/my.cnf1.

对应的免费源码下载版本也是符合预期的:

复制[ops@ck2 ~]$ /usr/local/mysql5.7/bin/mysqld --version/usr/local/mysql5.7/bin/mysqld Ver 5.7.25-28 for Linux on x86_64 (Percona Server (GPL), Release 28, Revision c335905)1.2.

但是登录数据库中查看版本:

确实与启动的版本不一致。

2. 解决方案

查看本机上mysql是版本否有多个版本的启动文件

经查,确实如此。号居而第一个版本正式启动后数据库里检测到的动后对版本。

2.1 解决思路

检查配置文件:

因数据库启动时与配置文件中的版本basedir也有关系,企商汇先检查配置文件:发现没问题

检查环境变量 复制export MYSQL_HOME=/app/mysql5.7export MY_BASEDIR_VERSION=/app/mysql5.7export PATH=/app/mysql5.7/bin:/app/mysql5.7/scripts:$PATHexport LD_LIBRARY_PATH=/app/mysql5.7/lib1.2.3.4.

发现环境变量里配置的号居确实是mysql5.7.18的路径。

2.2 调整环境变量

将对应的动后对路径改为当前版本的路径

复制export MYSQL_HOME=/usr/local/mysql5.7export MY_BASEDIR_VERSION=/usr/local/mysql5.7export PATH=/usr/local/mysql5.7/bin:/usr/local/mysql5.7/scripts:$PATHexport LD_LIBRARY_PATH=/usr/local/mysql5.7/lib1.2.3.4. 2.3 重启数据库

关闭数据库

复制mysql> set global innodb_fast_shutdown=0

;

Query OK, 0 rows affected (0.00 sec

)

mysql> shutdown;1.2.3.4.5.

启动数据库

复制numactl --interleave=all /usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/app/data/mysql3307/etc/my.cnf &1.

查看版本,是版本预期的情况了。

检查配置文件: 也没有再出现对应的号居错误了,至此问题解决。云服务器提供商

本文地址:http://www.bzuk.cn/news/127e9599777.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

手工制作电脑支架蛋糕教程(用简单材料打造独特创意,将甜点与科技相结合)

程序员过关斩将--解决分布式session问题

Kubernetes CRI - 容器运行时接口解析

EasyC++,C++指针初探

用彩纸打造趣味电脑教程(彩纸DIY教程,让电脑知识更有趣)

从Python角度了解以太坊

十张图带你彻底搞懂限流、熔断、服务降级

我国VR产业发展迎来新周期,两大机遇三大挑战凸显

友情链接

滇ICP备2023006006号-33