基於centos7的MySQL8.0二進位制安裝包的本地升級
第一部分資料庫備份
在升級資料庫之前,首先對資料庫進行備份。可以採用冷備或熱備。
1.1冷備
如果伺服器有足夠的時間能夠停機進行備份操作,可以直接採用冷備的方式。在將資料庫關閉之後,直接將資料目錄複製到備份目錄中。
shell> mkdir -p /mysql/mysql802/product shell> cp /mysql/mysql80/product/* /mysql/mysql802/product
注意:冷備前需要先檢視配置檔案,確認資料庫的所有檔案是否都在資料目錄中,部分日誌有沒有設定到其他目錄中。
1.2邏輯熱備
mysqldump是MySQL自帶的備份工具,我們只需要直接使用就行。
shell> /mysql/mysql80/app/bin/mysqldump -uroot -pAbcd321# -S /mysql/product/mysql80/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物理熱備
下載XtraBackup8.0:
使用,登入官網XtraBackup8.0下載區,下載最新版本的二進位制包。
在Linux系統上傳介質包percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12.tar.gz,建立/Xtrabackup目錄。
shell> mkdir -p /Xtrabackup sftp> cd /Xtrabackup sftp> put percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12.tar.gz
解壓介質包,並設定環境變數。
shell> tar zxf percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12.tar.gz shell> cd percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12/bin/ shell> pwd /Xtrabackup/percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12/bin shell> vi /root/.bash_profile export PATH=/Xtrabackup/percona-xtrabackup-8.0.14-Linux-x86_64.glibc2.12/bin:$PATH shell> source /root/.bash_profile shell> su -
至此,Percona Xtrabackup部署完成。然後開始備份。
shell> mkdir /Xtrabackup/backup shell> xtrabackup --defaults-file=/mysql/mysql80/app/my.cnf -uroot -pAbcd321# -S /mysql/mysql80/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升級到8.0。建議先升級到最新版本,再升級到下一版本。支援在發行系列中進行升級。
檢查你的配置檔案,檢視引數設定是否與新版本的資料庫相容。
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/mysql80/app/bin/mysqladmin -uroot -pAbcd321# -S /mysql/product/mysql80/data/mysql.sock shutdown
如果您將MySQL伺服器作為服務執行,可用service停止服務:
shell> service mysqld80 stop
2.5移走原資料庫安裝目錄
shell> mkdir -p /mysql/mysql802/app shell> mv /mysql/mysql80/app/* /mysql/mysql802/app/
2.6解壓新的資料庫
將新版本的資料庫解壓到原來的安裝目錄中:
shell> tar zxvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.gz -C /mysql/mysql80/app --strip-components=1
2.7啟動資料庫服務
用新的資料目錄和舊的資料目錄啟動資料庫服務。
shell> mysqld_safe --defaults-file=/mysql/mysql80/app/my.cnf --user=mysql &
如果您將MySQL伺服器作為服務執行,請重新設定資料庫服務:
[root@mysql ~]# cp /mysql/mysql80/app/support-files/mysql.server /etc/init.d/mysqld80 [root@mysql ~]# vi /etc/init.d/mysqld80 basedir=/mysql/mysql80/app datadir=/mysql/mysql80/product/data shell> service mysqld80 start
2.8升級資料庫
從MySQL 8.0.16開始,伺服器將在上一步啟動服務時完成對系統的升級。如果你的新版本是MySQL 8.0.16以上,則不需要接下來兩步。
mysql_upgrade檢查所有資料庫中的所有表是否與當前版本的MySQL不相容。mysql_upgrade還會升級 mysql系統資料庫,以便您可以利用新的特權或功能。
shell> mysql_upgrade -uroot -pAbcd321# -S /mysql/mysql80/product/data/mysql.sock ...... OK
最後如果彈出了OK輸出,則說明升級資料庫成功。
2.9重啟資料庫
關閉並重新啟動MySQL伺服器,以確保對系統表所做的所有更改均生效:
shell> mysqladmin -uroot -pAbcd321# -S /mysql/mysql80/product/data/mysql.sock shutdown shell> mysqld_safe --defaults-file=/mysql/mysql80/app/my.cnf --user=mysql &
如果您將MySQL伺服器作為服務執行:
shell> service mysqld80 restart
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2784364/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於centos7的MySQL8.0二進位制安裝包的邏輯升級CentOSMySql
- 基於centos7的MySQL5.7二進位制安裝包的本地升級CentOSMySql
- 基於centos7的MySQL5.7二進位制安裝包的邏輯升級CentOSMySql
- CentOS7 安裝 MySQL8.0(二進位制)CentOSMySql
- 基於LINUX的MySql二進位制本地升級實施文件LinuxMySql
- Mysql二進位制包安裝MySql
- 基於LINUX的MySql二進位制本地安裝和部署實施測試LinuxMySql
- centos7二進位制方式安裝rabbitmqCentOSMQ
- 基於Linux的MySQL5.7的二進位制安裝LinuxMySql
- mysql安裝-----二進位制包安裝及解除安裝MySql
- 使用二進位制包來安裝MySQLMySql
- 03二進位制包安裝與介紹
- centos7搭建lnmp安裝二進位制mysql【三】CentOSLNMPMySql
- 基於centos7的MySQL5.7的RPM本地升級CentOSMySql
- MySQL 安裝指南 二進位制安裝MySql
- Ubuntu24 二進位制包安裝mysql5.7UbuntuMySql
- centos7環境下二進位制編譯安裝ffmpegCentOS編譯
- PostgreSQL二進位制安裝流程SQL
- mysql二進位制包安裝與配置實戰記錄MySql
- CentOS8.1操作系下使用通用二進位制包安裝MySQL8.0(實踐整理自MySQL官方)CentOSMySql
- MySQL linux二進位制安裝MySqlLinux
- 基於二進位制的許可權判斷
- 升級安裝包的製作
- 二進位制檔案安裝安裝etcd
- CentOS6.6安裝二進位制壓縮包mysql5.6CentOSMySql
- Linux下解除安裝MySQL二進位制包(tar.gz)LinuxMySql
- mysql 5.6 升級 到 5.7 的二進位制升級方法 另一個簡便思路.MySql
- Go 釋出二進位制包的方法Go
- Mysql for Linux安裝配置之——二進位制安裝MySqlLinux
- 『Note』基於斜二進位制的資料結構資料結構
- centos 7 二進位制安裝mysql 5.7.25CentOSMySql
- PostgreSQL 10.23 二進位制安裝SQL
- ubuntu mysql5.6二進位制安裝UbuntuMySql
- MySQL5.7 windows二進位制安裝MySqlWindows
- 二進位制方式安裝mysql 5.6.15MySql
- 【Linux合集】二進位制安裝mysqlLinuxMySql
- RPM包的安裝與升級
- Percona MySQL 5.7 Linux通用二進位制包安裝(CentOS 6.5)MySqlLinuxCentOS