本文的升級方式爲物理升級:
直接替換掉mysql的安裝目錄和修改my.cnf,利用mysql_upgrade來完成系統表的升級,這種方法需要備份原有的文件,屬於物理拷貝,速度較快。缺點的話,跨版本升級不推薦這麼做,比如mysql5.1升級到mysql5.6,mysql5.5升級到mysql5.7等。
mysql5.7.23下載地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
準備環節:
停用跟mysql相關的一些服務或進程(zabbix、agent、php等)。
PS:記得查看下數據庫mysql的表有無報錯,有就要先處理,有需要備份的數據需先備份
1、mysql文件備份
#mysql -u root -pp@ssw0rd --execute="SET GLOBAL innodb_fast_shutdown=0"
#mysqldump -u root -pp@ssw0rd zabbix > /tmp/zabbix.sql
#mysqladmin -uroot -pp@ssw0rd shutdown
#mv /usr/local/mysql /usr/local/mysql_bak
2、下載mysql-5.7.23-linux-glibc2.12-x86_64.tar,放到zabbix上進行解壓。
#tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar
#mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql (解壓到原mysql路徑)
#chown -R mysql:mysql /usr/local/mysql (更改所屬用戶組)
3、修改my.cnf文件
註釋掉2個參數(mysql5.7已經不支持的了):
innodb_additional_mem_pool_size=8M
thread_concurrency=64
4、啓用mysql
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --socket=/usr/local/mysql/mysql.sock &
這裏可能會發生報錯,需要查看數據庫日誌error.log定位問題所在,一般是需要註釋掉某個參數。
#ps -ef | grep mysql
看到mysql5.7的進程出現,就說明啓動了。
5、數據庫升級
#/usr/local/mysql/bin/mysql_upgrade -u root -pp@ssw0rd --socket=/usr/local/mysql/mysql.sock
當看到最後出現:Upgrade process completed successfully.
Checking if update is needed.
就可以說明升級完成了。
6、檢查數據庫
查看升級後的數據庫版本是否爲5.7.23,以及error.log是否有報錯。
重啓數據庫
#service mysql stop
#service mysql start
查看數據庫有無啓動報錯
#vim /data/mysql/log/error.log
查看數據庫版本
#mysql -V
#mysql -u root -pp@ssw0rd --execute="select version()"
#mysql -u root -pp@ssw0rd --execute="\s"
樂維貼士:當看到Server Version 爲5.7.23,說明升級正式完成。
轉自 mysql5.6升級至5.7(物理方式)
http://www.lwops.cn/forum.php?mod=viewthread&tid=63&fromuid=1
(出處: 樂維)