基於LINUX的MySql二進位制本地升級實施文件
升級資料庫
MySql 安裝分為兩種,分為二進位制安裝和 RPM 包安裝, RPM 包安裝方式存在很大的侷限性,即同一臺物理主機或虛擬主機上不支援同時安裝兩套及以上不同版本的 MysQL 軟體。如果一定要使用新 RPM 包介質升級,則必須先解除安裝老版本,再安裝新版本。對於大多數原地升級的場景,推薦使用官方通用的二進位制發行版安裝包,或者使用者定製原始碼編譯的二進位制包。
安裝包下載: https://dev.mysql.com/downloads/mysql/ 點 Looking for the latest GA version 選擇對應的版本下載。下圖為作者下載的包。
當前版本為 5.7.27
需要升級的版本 5.7.37
安裝目錄: /usr/local/mysql
資料檔案存放目錄: /usr/local/mysql/data
升級後安裝目錄: /mysql/app/mysql-5.7.37
下載 MySQL 5.7.37 系列最新版本軟體安裝包,上傳到目標位置,並配置環境變數,命令如下。
shell > mkdir -p /mysql/app/mysql-5.7.37 shell > tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz --strip-components=1 -C /mysql/app/mysql-5.7.3 shell > echo 'export PATH=/mysql/app/mysql-5.7.37/bin:$PATH' >> $HOME/.bash_profile |
如果當前 MySOL 使用了 InnoDB 的 XA 分散式事務,那麼在升級之前需要執行 XA
RECOVER 來檢查未提交的 XA 事務。如果返回的結果中確實存在這類 XA 分散式事務,
則需要透過 XA commit 語句提交這類事務:
mysql > XA RECOVER; mysql > XA COMMIT xid; |
或者透過 XA rollback 語句回滾這類 XA 分散式事務
mysql > XA ROLLBACK xid; |
先將源庫的 innodb_fast_shutdown 全域性系統變數值設定為 0 ,命令如下:
mysql> set global innodb_fast_shutdown = 0; |
然後對 MySql 源庫例項執行慢關閉,命令如下
[root@localhost ~]# mysqladmin -u root -p -S /var/lib/mysql/mysql.sock shutdown 注:/var/lib/mysql/mysql.sock 此檔案可透過cat /etc/my.cnf 檢視位置 |
如果您將 MySql 伺服器作為服務執行,可用 service 停止服務:
[root@localhost ~]# service mysqld stop |
shell> mkdir -p /usr/local/mysql/databak shell> mv /usr/local/mysql/data/* /usr/local/mysql/databak |
修改mysql 安裝引數 [root@localhost ~]# vi /etc/my.cnf #basedir=/usr/local/mysql basedir=/mysql/app/mysql-5.7.37 將原先的安裝目錄註釋,附上目標端目錄 進入/etc/init.d/ ,將原先服務備份,並將目標例項複製過來。 [root@localhost bin]# cd /etc/init.d/ [root@localhost init.d]# mv mysqld mysqld_bak [root@localhost init.d]# cp /mysql/app/mysql-5.7.37/support-files/mysql.server /etc/init.d/mysqld 修改mysqld 程式,加入安裝目錄,和資料目錄 [root@localhost init.d]# vi /etc/init.d/mysqld ………………… basedir=/mysql/app/mysql-5.7.37 datadir=/usr/local/mysql/data ………………… 賦予許可權,並新增開機啟動 [root@localhost init.d]# chmod +x /etc/init.d/mysqld [root@localhost init.d]# chkconfig --add mysqld [root@localhost init.d]# chkconfig --list mysqld |
[root@localhost init.d]# service mysqld start |
mysql_upgrade 會檢查所有資料庫中的所有表,查詢與當前 MySQL 版本不相容的地
方,還會升級 MySQL 系統資料庫,以便利用新版本的許可權或功能。這是整個升級流程中最
為重要的一步, MySQL 會對系統物件進行更新,從而讓資料庫能夠充分利用新版本的功能
和特性。下面執行 mysql_upgrade 程式,檢查並解決舊資料和新軟體之間可能存在的任何不相容問題:
[root@localhost init.d]# mysql_upgrade -u root -p -S /var/lib/mysql/mysql.sock Enter password: Checking if update is needed. Checking server version. Error: Server version (5.7.37) does not match with the version of the server (5.7.27) with which this program was built/distributed. You can use --skip-version-check to skip this check.
[root@localhost init.d]# mysql_upgrade -u root -p -S /var/lib/mysql/mysql.sock --skip-version-check Enter password:
Upgrade process completed successfully. Checking if update is needed. |
[root@localhost ~]# vi .bash_profile #export PATH=$PATH:/usr/local/mysql/bin [root@localhost ~]# source .bash_profile 將原先的環境變數註釋掉 [root@localhost ~]# mysql -V mysql Ver 14.14 Distrib 5.7.37, for linux-glibc2.12 (x86_64) using EditLine wrapper |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2887312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於LINUX的MySql二進位制本地安裝和部署實施測試LinuxMySql
- 基於centos7的MySQL5.7二進位制安裝包的本地升級CentOSMySql
- 基於centos7的MySQL8.0二進位制安裝包的本地升級CentOSMySql
- 基於Linux的MySQL5.7的二進位制安裝LinuxMySql
- 基於centos7的MySQL5.7二進位制安裝包的邏輯升級CentOSMySql
- 基於centos7的MySQL8.0二進位制安裝包的邏輯升級CentOSMySql
- mysql 5.6 升級 到 5.7 的二進位制升級方法 另一個簡便思路.MySql
- MySQL linux二進位制安裝MySqlLinux
- 基於Windows的MySQL5.7本地升級WindowsMySql
- 【Linux合集】二進位制安裝mysqlLinuxMySql
- mysql的二進位制日誌MySql
- 基於二進位制的許可權判斷
- MySQL5.7 linux二進位制安裝MySqlLinux
- MySQL二進位制日誌MySql
- mysql 二進位制日誌MySql
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 基於centos7的MySQL5.7的RPM本地升級CentOSMySql
- 『Note』基於斜二進位制的資料結構資料結構
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- Mysql二進位制包安裝MySql
- 管理mysql二進位制日誌MySql
- MySQL實施文件MySql
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 二進位制與二進位制運算
- Mysql for Linux安裝配置之——二進位制安裝MySqlLinux
- 進位制詳解:二進位制、八進位制和十六進位制
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 火掌櫃iOS端基於CocoaPods的元件二進位制化實踐iOS元件
- mysql關於二進位制日誌binary log的總結MySql
- 用C#實現二進位制的減法(包括二進位制小數)C#
- 關於二進位制世界的祕密
- MySQL二進位制檔案(binlog)MySql
- MySQL 壓縮二進位制日誌MySql
- mysql二進位制日誌詳解MySql
- mysql 二進位制日誌總結MySql
- (二進位制)