從mysql的官方升級(jí)文檔來看,MySQL的升級(jí)相對(duì)來說還是比較簡(jiǎn)單的。
它支持多種方式的升級(jí),但是MySQL版本眾多,不僅有各種大版本,例如5.1,5.5,5.6,5.7等。同一個(gè)大版本中也會(huì)有各種小版本。
那么官方支持怎么的升級(jí)路徑呢?
同一個(gè)大版本中的小版本可以直接升級(jí),例如:5.6.25到5.6.31。
跨版本升級(jí),但只支持跨一個(gè)版本升級(jí),例如5.5到5.6,5.6到5.7。不支持跨多個(gè)版本的升級(jí),例如直接從5.5到5.7,可以先從5.5升級(jí)到5.6,再?gòu)?.6升級(jí)到5.7。
今天升級(jí)的方式為glibc升級(jí),是從mysql5.7.17升級(jí)到mysql5.7.26。
創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)
mysql>create database aaaa;
QueryOK, 1 row affected (0.00 sec)
在測(cè)試數(shù)據(jù)庫(kù)中創(chuàng)建測(cè)試表:
mysql>create database demo1;
QueryOK, 1 row affected (0.00 sec)
給測(cè)試表demo1入數(shù)
mysql>select * from demo1;
+----+-----------+
| id| name |
+----+-----------+
| 1| xiaozhang |
| 2| xiaoli |
| 3| laowang |
| 4| ceshi |
+----+-----------+
4 rows in set (0.00 sec)
注:此時(shí)建庫(kù)表為了看升級(jí)之后是否數(shù)據(jù)丟失等
導(dǎo)出數(shù)據(jù)庫(kù)
[root@test~]# mysqldump -S /u01/mysql3306/demo_demo1/mysql.sock -uroot -p--all-databases --set-gtid-purged=off >/soft/mysql_bak/mysql5717all.sql
查看當(dāng)前數(shù)據(jù)庫(kù)版本:
停止老數(shù)據(jù)庫(kù):
mysqladmin-uroot -p -S /u01/mysql3306/demo_demo1/mysql.sock shutdown
解壓升級(jí)包、移動(dòng)到指定位置并賦權(quán):
tar–zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mvmysql-5.7.26-linux-glibc2.12-x86_64 /u01/mysql5726
chown–R mysql.mysql /u01
初始化軟件
注意:初始化和之前版本不一樣了,初始化時(shí)有初始化密碼的
/u01/mysql5726/bin/mysqld--initialize --user=mysql --basedir=/u01/mysql5726--datadir=/u01/mysql33062/demo_demo1/data
初始化過程中遇到libnuma.so.1問題:
[root@testbin]# /u01/mysql5726/bin/mysqld--defaults-file=/u01/mysql3306/demo_demo1/conf/demo1.cnf--initialize-insecure --user=mysql --basedir=/u01/mysql5726--datadir=/u01/mysql3306/demo_demo1/data
/u01/mysql5726/bin/mysqld:error while loading shared libraries: libnuma.so.1: cannot openshared object file: No such file or directory
解決辦法:
1.如果已經(jīng)安裝了libnuma.so.1,先yumremove libnuma.so.1
2.yum -y install numactl.x86_64
拷貝和修改配置文件
Cd/u01/mysql33062/demo_demo1/conf/
Cp/u01/mysql3306/demo_demo1/conf/demo1.cnf.bak .
將老的cnf文件里的路徑調(diào)整為新的路徑:
注:如果用戶環(huán)境變量里有老的mysqlbin目錄位置建議一并修改成新的,方便后期使用。
登錄數(shù)據(jù)庫(kù)
/u01/mysql5726/bin/mysql-uroot -p -S/u01/mysql33062/demo_demo1/mysql.sock
查看導(dǎo)入前的數(shù)據(jù)庫(kù)及版本
導(dǎo)入數(shù)據(jù)歷史備份數(shù)據(jù)
有時(shí)不加-S和mysql.sock的路徑會(huì)報(bào)找不到mysql.sock的錯(cuò)誤
mysql-uroot -p -S /u01/mysql33062/demo_demo1/mysql.sock
執(zhí)行mysql_upgrade升級(jí)
mysql_upgrade-S /u01/mysql33062/demo_demo1/mysql.sock -uroot –p
官方提到執(zhí)行這命令可以讓原數(shù)據(jù)啟用到新版本的特性,注意:GTID復(fù)制不要開啟。
總結(jié):升級(jí)過程中如果遇到問題,可以多查詢資料。操作前做好數(shù)據(jù)備份,尤其是在生產(chǎn)環(huán)境中。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/129971.html
MySQL雙主架構(gòu)升級(jí)實(shí)施測(cè)試方案 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...
MySQL集群MGR升級(jí)實(shí)施測(cè)試方案 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1902·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2749·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20