Mysql/Mariadb 升級注意事項
阿新 • • 發佈:2018-12-13
因需要使用到分割槽表,在業務不中斷的情況下,可以新增分割槽,需要將原來的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