基於mysql5版本的升級
官網英文文檔: https://dev.mysql.com/doc/refman/5.7/en/upgrade-binary-package.html
參考鏈接 : 中文文檔: 鏈接地址沒找到。。。。
就地升級
1、備份數據庫數據 ,使用Navicat導出數據庫數據
2、備份 配置文件
cp /etc/my.cnf /etc/my.cnf.bak
3、查看mysql 的 data 路徑
cat /etc/my.cnf |grep datadir
datadir=路徑 //記住路徑,后面需要使用
4、//在關閉過程中,InnoDB執行完全清除並在關閉之前更改緩沖區合並,這可確保在發布版本之間存在文件格式差異時完全准備好數據文件
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
(或者直接在 Navicat 上連接數據庫 執行 SET GLOBAL innodb_fast_shutdown=0)
5、關閉舊的MySQL服務器
進入舊mysql 安裝路徑下的 bin目錄下 執行下面操作
./mysqladmin -u root -p shutdown
6、升級MySQL二進制安裝或軟件包。如果要升級二進制安裝程序,請解壓縮新的MySQL二進制分發程序包。請參閱 獲取和解壓縮發行版。對於基於軟件包的安裝,請安裝新軟件包。
去官方下載 mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
進入/usr/local/下
tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
修改文件名
mv mysql-5.7.34-linux-glibc2.12-x86_64/ mysql-5.7.34
授權
chown -R mysql.mysql /usr/local/mysql-5.7.34
chmod -R 755 /usr/local/mysql-5.7.34
修改/etc/my.cnf 里面相關路徑
修改mysql的環境變量
vi /etc/profile
export MYSQL_HOME = /usr/local/mysql-5.7.34
export PATH = $PATH:$MYSQL_HOME/bin
source /etc/profile
ln -s /usr/local/mysql-5.7.34/bin/mysql /usr/bin/mysql
(7、8、9中的命令 都是在 新mysql 的bin路徑下執行的)
7、使用現有數據目錄啟動新版本的mysql服務器
進入新版本mysql-5.7.34 的bin目錄下 依次執行 下面命令
./mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &
./mysql_upgrade -u root -p
(把升級應用到表命令: 有時不加-S和mysql.sock的路徑會報找不到mysql.sock的錯誤
mysql_upgrade -u root -p -S /data/mysql/var/mysql.sock
mysql_upgrade檢查所有數據庫中的所有表是否與當前版本的MySQL不兼容。mysql_upgrade還會升級 mysql系統數據庫,以便您可以利用新的特權或功能。mysql_upgrade不會升級時區表或幫助表的內容。
8、關閉並重新啟動新MySQL服務器,以確保對系統表所做的所有更改均生效
./mysqladmin -u root -p shutdown
./mysqld_safe --user=mysql --datadir=路徑 &
9、 查看版本
./mysql -V
RPM升級方式
查看當前mysql的rpm包信息
rpm -qa | grep mysql
官網下載對應版本的rpm包。
rpm方式需要四個依賴包
四個包有依賴關系,所以安裝順序依次如下
yum -y install mysql-community-common-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-libs-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-client-5.7.24-1.el7.x86_64.rpm
yum -y install mysql-community-server-5.7.24-1.el7.x86_64.rpm
安裝rpm包會自動替換之前的包,不用手動刪除
啟動數據庫,然后mysql -V或者status查看數據庫版本
邏輯升級