Mysql/Mariadb 升级注意事项

因需要使用到分区表,在业务不中断的情况下,可以新增分区,需要将原来的Mariadb10.1.25版本升级到Mariadb10.3.8。

1、升级步骤如下

1)新搭建Mariadb10.3.8版本的DB

2)全备份Mariadb10.1.25版本数据(表结构、存储过程、函数、触发器等)

3)将Mariadb10.1.25的备份数据恢复到Mariadb10.3.8

4)使用/u02/mysql/bin/mysql_upgrade 升级

2、升级并导入备份后遇到问题

但是其中遇到一个问题,就是在导入备份后,由于Mariadb10.1.25版本的mysql.proc表有20个列,

Mariadb10.3.8有21个列,导入后,Mariadb10.3.8的mysq.proc表被Mariadb10.1.25的表覆盖。

导致后面执行存储过程是,存储过程报错:

Column count of mysql.proc is wrong. Expected 21, found 20. The table is probably corrupted

扫描二维码关注公众号,回复: 4487665 查看本文章

表可能已损坏

3、解决方法

查看这两个版本mysql.proc表的表结构,Mariadb10.3.8比Mariadb10.1.25,多一列 aggregate,

导入备份后,重建的表不包含这列,一次,需要重建

alter table  mysql.proc add column  `aggregate` enum('NONE','GROUP') NOT NULL DEFAULT 'NONE';

最后,再运行一次/u02/mysql/bin/mysql_upgrade

猜你喜欢

转载自www.cnblogs.com/xibuhaohao/p/10112812.html