mysql 5.5 升級到 mysql 5.6
目前MySQL數據庫軟件升級到5.6.26版本,主要有兩種方法。一種是停機升級,即在現有環境下先停止數據庫,然後升級數據庫軟件版本和數據庫版本;另外一種是采用不停機的主從升級(master--slave)方式來升級,也就是現在從庫上升級,然後切換主從庫,再升級原主庫的版本。根據條件和資源情況,我們采取第一種方式升級數據庫
一、升級前准備
1.升級前系統環境檢查
查找glibc版本:
# ] rpm -qa | grep glibc
glibc-2.5-65
glibc-devel-2.5-65
compat-glibc-2.3.4-2.26
glibc-headers-2.5.65
compat-glibc-headers-2.3.4-2.26
glibc-common-2.5-65
查找服務器支撐最大glibc版本:
# ] strings /lib64/libc.so.6 | grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
查找已安裝數據庫版本:
# ] rpm -qa | grep -i mysql
MySQL-server-advanced-5.5.23-1.rhel5
MySQL-client-advanced-5.5.23-1.rhel5
(注意:glibc屬於比較重要的而且容易被忽略的一個依賴包,根據操作系統版本的不同,所支持最大的glibc版本也不一樣。需要檢查好要升級服務器的版本和支持最大glibc版本,方便下載安裝包。)
2.升級前數據庫檢查
查看是否還有其他進程在使用。
mysql -uroot -h127.0.0.1 -P3306 -e 'show processlist;'
3.下載安裝包
MySQL新版本rpm文件:
MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-devel-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-embedded-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-shared-compat-5.6.26-1.linux_glibc2.5.x86_64.rpm
MySQL-test-5.6.26-1.linux_glibc2.5.x86_64.rpm
4.上傳服務器
把新版本文件上傳至需要升級的服務器。
5.使用主機root權限
6.打開告警日志、操作日志
6.1告警日志
通過每個實例的配置文件my.cnf查找告警日志位置。後台打開,並監控。
查找告警日志目錄:
#] cat /home/mysql/my_cnf/my_3306.cnf | grep "log-error"
後台告警日志:
tail -f /home/mysql/logs/err-log/mysql-err.log
6.2操作日志
在操作界面打開SecureCRT軟件的“會話日志”功能,保存所有操作記錄。
7備份系統表
主要備份數據庫系統庫:
mysql
performance_schema
information_schema
mysqldump備份命令如下:
mysqldump -u root -h127.0.0.1 -P3306 --databases mysql performance_schema information_schema > /home/mysql/20150818.sql
二、數據庫升級
1.停止應用
2.停止數據庫
mysqladmin --defaults -file=/home/mysql/my_cnf/my_3306.cnf -uroot shutdown
3.卸載舊版本數據庫
本地升級,暫不支持直接升級方案,即直接在原有舊版本基礎上更新新版本,需要先卸載舊版本,再安裝新版本,通過此方法升級MySQL數據庫版本。
卸載:
rpm -e MySQL-server-advanced-5.5.23-1.rhel5
rpm -e MySQL-client-advanced-5.5.23-1.rhel5
4.升級新版本
使用root權限執行下列操作:
rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.26-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-5.6.26-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.26-1.linux_glibc2.5.x86_64.rpm
5.啟動數據庫
nohup mysqld_safe --defaults-file=/home/mysql/my_cnf/my_3306.cnf &
6.升級數據庫
從低版本5.5.23升級到高版本5.6.26時,由於版本不同,系統數據庫的表結構也會不一樣,所以在安裝新版本結束後啟動數據庫時,通過後台啟動日志,會監控到系統數據庫的一些表結構出現問題,可以通過更新表結構語句來解決。
mysql_upgrade --protocol=tcp -P3306
按照上述語句,對每個有問題的實例逐一執行。
7.重啟數據庫,測試數據庫能夠正常啟動
由於執行升級數據庫命令mysql_upgrade,所以需要重啟數據庫,查看後台日志,確保能夠正常啟動。
停止數據庫
mysqladmin --defaults -file=/home/mysql/my_cnf/my_3306.cnf -uroot shutdown
啟動數據庫
nohup mysqld_safe --defaults-file=/home/mysql/my_cnf/my_3306.cnf &
8.測試遠程連接
最後一步需要測試遠程連接操作:
mysql -h “hostname” -P 3306 -u”username” -p'password' -e 'show processlist;'