使用xtrabackup对主库进行备份,在从节点主机上进行恢复,并将还原后的实例部署为主库的从节点。在启动介质与主库版本一致的情况下,启动主从同步后,日志出现如下错误:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、网站制作、永吉网络推广、小程序开发、永吉网络营销、永吉企业策划、永吉品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供永吉建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
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是否有多个版本的启动文件
经查,确实如此。而第一个版本正式启动后数据库里检测到的版本。
检查配置文件:
因数据库启动时与配置文件中的basedir也有关系,先检查配置文件:发现没问题
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的路径。
将对应的路径改为当前版本的路径
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
关闭数据库
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启动后版本号居然不对?
分享URL:http://www.shufengxianlan.com/qtweb/news39/133139.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联