目前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;'