基於centos7的MySQL5.7二進位制安裝包的本地升級
一、資料庫備份
在升級資料庫之前,首先對資料庫進行備份。可以採用冷備或熱備。
1.1 冷備
如果伺服器有足夠的時間能夠停機進行備份操作,可以直接採用冷備的方式。在將資料庫關閉之後,直接將資料目錄複製到備份目錄中。
shell> mkdir -p /mysql/mysql572/product shell> cp /mysql/mysql57/product/* /mysql/mysql572/product
注意:冷備前需要先檢視配置檔案,確認資料庫的所有檔案是否都在資料目錄中,部分日誌有沒有設定到其他目錄中。
1.2 邏輯熱備
mysqldump是MySQL自帶的備份工具,我們只需要直接使用就行。
shell> /mysql/mysql57/app/bin/mysqldump -uroot -pAbcd321# -S /mysql/product/mysql57/data/mysql.sock --single-transaction --master-data=2 -E -R --all-databases >full.sql
使用上述命令備份全庫至指定目錄。
shell> tail -1 full.sql -- Dump completed on 2020-10-29 9:23:04
若最後輸出Dump completed on,則說明備份成功。
1.3 物理熱備
下載XtraBackup 2.4:
使用ht tps: // www .percona.com/downloads/Percona-XtraBackup-2.4/LATEST/,登入官網XtraBackup 2.4下載區,下載最新版本的二進位制包。
在Linux系統上傳介質包percona-xtrabackup-2.4.20-Linux-x86_64.el7.tar.gz,建立/Xtrabackup目錄。
shell> mkdir -p /Xtrabackup sftp> cd /Xtrabackup sftp> put percona-xtrabackup-2.4.20-Linux-x86_64.el7.tar.gz 解壓介質包,並設定環境變數。 shell> cd /Xtrabackup/ shell> tar zxf percona-xtrabackup-2.4.20-Linux-x86_64.el7.tar.gz shell> cd percona-xtrabackup-2.4.20-Linux-x86_64/bin/ shell> pwd /Xtrabackup/percona-xtrabackup-2.4.20-Linux-x86_64/bin shell> vi /root/.bash_profile export PATH=/Xtrabackup/percona-xtrabackup-2.4.20-Linux-x86_64/bin:$PATH shell> source /root/.bash_profile shell> su - 至此,Percona Xtrabackup部署完成。然後開始備份。 shell> mkdir /Xtrabackup/backup shell> xtrabackup --defaults-file=/mysql/mysql57/app/my.cnf -uroot -pAbcd321# -S /mysql/mysql57/product/data/mysql.sock --backup --target-dir=/Xtrabackup/backup ...... 201029 09:32:42 completed OK!
最後輸出completed OK!,則說明備份成功。
二、本地升級
就地升級包括關閉舊的MySQL伺服器,用新的二進位制包替換舊的二進位制包,在現有資料目錄上重新啟動MySQL,以及升級現有安裝中需要升級的剩餘部分。
2.1 升級前準備
開啟mysql官網下載頁面: https: //downloads.mysql.com/archives/community/,下載要升級的對應版本的資料庫,並上傳到指定目錄。
檢查你的升級路徑,資料庫升級不支援跳過版本的升級,例如,不支援直接從MySQL 5.5升級到5.7。建議先升級到最新版本,再升級到下一版本。支援在發行系列中進行升級。
檢查你的配置檔案,檢視引數設定是否與新版本的資料庫相容。
2.2 提交或回滾分散式事務
如果在InnoDB中使用XA事務,請在升級之前執行XA RECOVER以檢查未提交的XA事務。如果有返回結果,則透過發出XA COMMIT或 XA ROLLBACK語句來提交或回滾XA事務。
mysql> XA RECOVER; mysql> XA COMMIT xid;
2.3 配置慢關機
如果您使用InnoDB,請透過InnoDB_fast_shutdown配置MySQL執行慢關機。
mysql> set global innodb_fast_shutdown=0;
2.4 關閉原資料庫
在關閉資料庫時,需要使用對應資料庫的命令:
shell> /mysql/mysql57/app/bin/mysqladmin -uroot -pAbcd321# -S /mysql/product/mysql57/data/mysql.sock shutdown
如果您將MySQL伺服器作為服務執行,可用service停止服務:
shell> service mysqld57 stop
2.5 移走原資料庫安裝目錄
shell> mkdir -p /mysql/mysql572/app shell> mv /mysql/mysql57/app/* /mysql/mysql572/app/
2.6 解壓新的資料庫
將新版本的資料庫解壓到原來的安裝目錄中:
shell> tar zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /mysql/mysql57/app --strip-components=1
2.7 啟動資料庫服務
用新的資料目錄和舊的資料目錄啟動資料庫服務。
shell> mysqld_safe --defaults-file=/mysql/mysql57/app/my.cnf --user=mysql &
如果您將MySQL伺服器作為服務執行,請重新設定資料庫服務:
shell> cp /mysql/mysql57/app/support-files/mysql.server /etc/init.d/mysqld57 shell> vi /etc/init.d/mysqld57 basedir=/mysql/mysql57/app datadir=/mysql/mysql57/product/data shell> service mysqld57 start
2.8 升級資料庫
mysql_upgrade檢查所有資料庫中的所有表是否與當前版本的MySQL不相容。mysql_upgrade還會升級 mysql系統資料庫,以便您可以利用新的特權或功能。
shell> mysql_upgrade -uroot -pAbcd321# -S /mysql/mysql57/product/data/mysql.sock ...... OK
最後如果彈出了OK輸出,則說明升級資料庫成功。
2.9 重啟資料庫
關閉並重新啟動MySQL伺服器,以確保對系統表所做的所有更改均生效:
shell> mysqladmin -uroot -pAbcd321# -S /mysql/mysql57/product/data/mysql.sock shutdown shell> mysqld_safe --defaults-file=/mysql/mysql57/app/my.cnf --user=mysql &
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2780230/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於centos7的MySQL5.7二進位制安裝包的邏輯升級CentOSMySql
- 基於centos7的MySQL8.0二進位制安裝包的本地升級CentOSMySql
- 基於centos7的MySQL8.0二進位制安裝包的邏輯升級CentOSMySql
- 基於Linux的MySQL5.7的二進位制安裝LinuxMySql
- 基於LINUX的MySql二進位制本地升級實施文件LinuxMySql
- 基於centos7的MySQL5.7的RPM本地升級CentOSMySql
- Ubuntu24 二進位制包安裝mysql5.7UbuntuMySql
- MySQL5.7 windows二進位制安裝MySqlWindows
- MySQL5.7 linux二進位制安裝MySqlLinux
- Mysql二進位制包安裝MySql
- 基於Windows的MySQL5.7本地升級WindowsMySql
- mysql5.7 for windows二進位制安裝及配置MySqlWindows
- 基於LINUX的MySql二進位制本地安裝和部署實施測試LinuxMySql
- centos7二進位制方式安裝rabbitmqCentOSMQ
- mysql安裝-----二進位制包安裝及解除安裝MySql
- 使用二進位制包來安裝MySQLMySql
- CentOS7 安裝 MySQL8.0(二進位制)CentOSMySql
- 03二進位制包安裝與介紹
- centos7搭建lnmp安裝二進位制mysql【三】CentOSLNMPMySql
- MySQL 安裝指南 二進位制安裝MySql
- centos7環境下二進位制編譯安裝ffmpegCentOS編譯
- PostgreSQL二進位制安裝流程SQL
- mysql二進位制包安裝與配置實戰記錄MySql
- MySQL linux二進位制安裝MySqlLinux
- 基於二進位制的許可權判斷
- 升級安裝包的製作
- 二進位制檔案安裝安裝etcd
- CentOS6.6安裝二進位制壓縮包mysql5.6CentOSMySql
- Linux下解除安裝MySQL二進位制包(tar.gz)LinuxMySql
- mysql 5.6 升級 到 5.7 的二進位制升級方法 另一個簡便思路.MySql
- CentOS7 64位安裝mysql5.7(linux)CentOSMySqlLinux
- Go 釋出二進位制包的方法Go
- Mysql for Linux安裝配置之——二進位制安裝MySqlLinux
- 『Note』基於斜二進位制的資料結構資料結構
- centos 7 二進位制安裝mysql 5.7.25CentOSMySql
- PostgreSQL 10.23 二進位制安裝SQL
- ubuntu mysql5.6二進位制安裝UbuntuMySql
- 二進位制方式安裝mysql 5.6.15MySql