1. 程式人生 > >Mysql/Mariadb 升級注意事項

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

表可能已損壞

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