服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL启动后版本号不对的解决方法

MySQL启动后版本号不对的解决方法

2023-02-28 19:50数据库干货铺数据库干货铺 Mysql

本文主要为大家分享MySQL启动后版本号居然不对的解决方法,有需要的朋友可以参考下

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.

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

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

对应的版本也是符合预期的:

[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)

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

MySQL启动后版本号不对的解决方法

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

2. 解决方案

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

MySQL启动后版本号不对的解决方法

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

MySQL启动后版本号不对的解决方法

2.1 解决思路

检查配置文件:

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

MySQL启动后版本号不对的解决方法

检查环境变量

export MYSQL_HOME=/app/mysql5.7 export MY_BASEDIR_VERSION=/app/mysql5.7 export PATH=/app/mysql5.7/bin:/app/mysql5.7/scripts:$PATH export LD_LIBRARY_PATH=/app/mysql5.7/lib

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

2.2 调整环境变量

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

export MYSQL_HOME=/usr/local/mysql5.7 export MY_BASEDIR_VERSION=/usr/local/mysql5.7 export PATH=/usr/local/mysql5.7/bin:/usr/local/mysql5.7/scripts:$PATH export LD_LIBRARY_PATH=/usr/local/mysql5.7/lib

2.3 重启数据库

关闭数据库

mysql> set global innodb_fast_shutdown=0; Query OK, 0 rows affected (0.00 sec) mysql> shutdown;

启动数据库

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

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

MySQL启动后版本号不对的解决方法

检查配置文件: 也没有再出现对应的错误了,至此问题解决。

原文地址:https://www.toutiao.com/article/7200030827747803706/

延伸 · 阅读

精彩推荐
  • Mysql利用SQL注入漏洞拖库的方法

    利用SQL注入漏洞拖库的方法

    利用SQL注入漏洞登录后台和利用SQL注入漏洞拖库是我学习了相关内容之后的一点小结,没啥深度,正如文章开头所说,权当总结,别无它意 ...

    MYSQL教程网4932019-11-28
  • MysqlMYSQL命令行导入导出数据库详解

    MYSQL命令行导入导出数据库详解

    这篇文章主要详细介绍了MYSQL命令行进行导入导出数据库操作的方法,并且分win系统和Linux系统介绍了mysql备份和还原的方法,非常的详细,希望对大家能有...

    TKOL5372020-04-20
  • Mysql并发环境下mysql插入检查方案

    并发环境下mysql插入检查方案

    这篇文章主要介绍了并发环境下mysql插入检查方案的相关资料,需要的朋友可以参考下 ...

    MYSQL教程网2622020-06-02
  • MysqlMySQL取出随机数据

    MySQL取出随机数据

    MySQL 如何从表中取出随机数据 以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. ...

    mysql技术网3612019-10-22
  • MysqlMySQL 百万级分页优化(Mysql千万级快速分页)

    MySQL 百万级分页优化(Mysql千万级快速分页)

    MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考这个问题还是从前天开始。有过痛苦有过绝望,到现在充满信心 ...

    MYSQL教程网10272019-12-09
  • Mysqlcentos下安装mysql服务器的方法

    centos下安装mysql服务器的方法

    本篇文章是对在centos下安装mysql服务器的方法进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网4792019-12-29
  • MysqlMySQL连接无法解析HOST主机名的解决方法

    MySQL连接无法解析HOST主机名的解决方法

    这篇文章主要介绍了MySQL连接无法解析HOST主机名的解决方法,需要的朋友可以参考下 ...

    MYSQL教程网9592020-03-12
  • Mysql如何实现MySQL的索引

    如何实现MySQL的索引

    这篇文章主要介绍了如何实现MySQL的索引,MySQL中索引分三类,有B+树索引、Hash索引和全文索引,下面我们一起来看看MySQL索引的具体实现,需要的小伙伴可...

    LiveEveryDay4212022-09-03