溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux MySQL 5.7二進(jìn)制 小版本升級(jí)

發(fā)布時(shí)間:2020-07-24 08:24:48 來(lái)源:網(wǎng)絡(luò) 閱讀:2541 作者:898009427 欄目:MySQL數(shù)據(jù)庫(kù)

Linux MySQL 5.7二進(jìn)制 小版本升級(jí)

MySQL5.7二進(jìn)制安裝在Unix/Linux上升級(jí)時(shí),分為就地和邏輯升級(jí)方法。

1 就地升級(jí)

就地升級(jí)包括關(guān)閉舊的MySQL服務(wù)器,用新的MySQL服務(wù)器替換舊的MySQL二進(jìn)制文件或軟件包,在現(xiàn)有數(shù)據(jù)目錄上重新啟動(dòng)MySQL,以及運(yùn)行mysql_upgrade。

1.1 XA事務(wù)InnoDB

如果您使用XA事務(wù)InnoDB,請(qǐng)XA RECOVER在升級(jí)之前運(yùn)行以檢查未提交的XA事務(wù)。如果返回結(jié)果,則通過(guò)發(fā)出XA COMMIT或 XA ROLLBACK聲明來(lái)提交或回滾XA事務(wù)。

1.2 配置MySQL以通過(guò)設(shè)置innodb_fast_shutdown為 執(zhí)行慢速關(guān)閉 0。

mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

在關(guān)閉過(guò)程中,InnoDB執(zhí)行完全清除并在關(guān)閉之前更改緩沖區(qū)合并,這可確保在發(fā)布版本之間存在文件格式差異時(shí)完全準(zhǔn)備好數(shù)據(jù)文件。

1.3 關(guān)閉舊的MySQL服務(wù)器

mysqladmin -u root -p shutdown

1.4 安裝新的MySQL二進(jìn)制包

下載,解壓新的MySQL二進(jìn)制分發(fā)包;

授權(quán):

chown -R mysql.mysql /usr/loacl/mysql_new

把MySQL的軟連接指向新的mysql服務(wù)

unlink /usr/loacl/mysql
ln -s /usr/loacl/mysql_new /usr/loacl/mysql

1.5 使用現(xiàn)有數(shù)據(jù)目錄啟動(dòng)新MySQL 5.7服務(wù)器

mysqld_safe --user=mysql --datadir=/path/to/existing-datadir

1.6 運(yùn)行mysql_upgrade

mysql_upgrade -u root -p

mysql_upgrade檢查所有數(shù)據(jù)庫(kù)中的所有表是否與當(dāng)前版本的MySQL不兼容。mysql_upgrade還會(huì)升級(jí)mysql系統(tǒng)數(shù)據(jù)庫(kù),以便您可以利用新的權(quán)限或功能。

  • 注意
    mysql_upgrade不會(huì)升級(jí)幫助表的內(nèi)容。

1.7 關(guān)閉并重新啟動(dòng)MySQL服務(wù)器以確保對(duì)系統(tǒng)表所做的任何更改都生效

mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/existing-datadir

2 邏輯升級(jí)

邏輯升級(jí)涉及使用備份或?qū)С鰧?shí)用程序(如mysqldump)從舊MySQL實(shí)例導(dǎo)出SQL ,安裝新的MySQL服務(wù)器以及將SQL應(yīng)用于新的MySQL實(shí)例。
簡(jiǎn)單說(shuō)明邏輯升級(jí)就是導(dǎo)出數(shù)據(jù),然后升級(jí),最后再導(dǎo)入數(shù)據(jù);安全性高,主要針對(duì)數(shù)據(jù)量不大的數(shù)據(jù)庫(kù);常用的工具:mysqldump和Xtrabackup。

2.1 從以前的MySQL安裝中導(dǎo)出現(xiàn)有數(shù)據(jù):

mysqldump -u root -p
  --add-drop-table --routines --events
  --all-databases --force > data-for-upgrade.sql
  • 注意
    如果數(shù)據(jù)庫(kù)包含存儲(chǔ)的程序, 請(qǐng)使用--routines和 mysqldump的--events選項(xiàng) (如上所示)。該 選項(xiàng)包括轉(zhuǎn)儲(chǔ)中的所有數(shù)據(jù)庫(kù),包括保存系統(tǒng)表的 數(shù)據(jù)庫(kù)。 --all-databasesmysql

  • 重要
    如果您有包含生成列的表,請(qǐng)使用MySQL 5.7.9或更高版本提供的mysqldump實(shí)用程序來(lái)創(chuàng)建轉(zhuǎn)儲(chǔ)文件。早期版本中提供的 mysqldump實(shí)用程序?qū)ι傻牧卸x使用了錯(cuò)誤的語(yǔ)法(Bug#20769542)。您可以使用該 INFORMATION_SCHEMA.COLUMNS 表來(lái)標(biāo)識(shí)具有生成列的表。

2.2 關(guān)閉舊的MySQL服務(wù)器

mysqladmin -u root -p shutdown

2.3 安裝MySQL 5.7

參考:
mysql 5.7.21 二進(jìn)制安裝

2.4 初始化新數(shù)據(jù)目錄

mysqld --initialize --datadir=/path/to/5.7-datadir

復(fù)制'root'@'localhost' 顯示在屏幕上的臨時(shí)密碼或?qū)懭脲e(cuò)誤日志以供日后使用。

2.5 使用新數(shù)據(jù)目錄啟動(dòng)MySQL 5.7服務(wù)器:

mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir

2.6 重置root密碼:

shell> mysql -u root -p
Enter password: ****  <- enter temporary root password
mysql> ALTER USER USER() IDENTIFIED BY 'your new password';

2.7 將先前創(chuàng)建的轉(zhuǎn)儲(chǔ)文件加載到新的MySQL服務(wù)器中

mysql -u root -p --force < data-for-upgrade.sql
  • 注意
    gtid_mode=ON如果轉(zhuǎn)儲(chǔ)文件包含系統(tǒng)表, 則不建議在服務(wù)器()上啟用GTID時(shí)加載轉(zhuǎn)儲(chǔ)文件。 mysqldump為使用非事務(wù)性MyISAM存儲(chǔ)引擎的系統(tǒng)表發(fā)出DML指令,并且在啟用GTID時(shí)不允許這種組合。另請(qǐng)注意,將啟用了GTID的服務(wù)器中的轉(zhuǎn)儲(chǔ)文件加載到啟用了GTID的另一臺(tái)服務(wù)器中會(huì)導(dǎo)致生成不同的事務(wù)標(biāo)識(shí)符。

2.8 運(yùn)行mysql_upgrade

mysql_upgrade -u root -p

mysql_upgrade檢查所有數(shù)據(jù)庫(kù)中的所有表是否與當(dāng)前版本的MySQL不兼容。mysql_upgrade還會(huì)升級(jí)mysql系統(tǒng)數(shù)據(jù)庫(kù),以便您可以利用新的權(quán)限或功能。

  • 注意
    mysql_upgrade不會(huì)升級(jí)幫助表的內(nèi)容。

2.9 關(guān)閉并重新啟動(dòng)MySQL服務(wù)器以確保對(duì)系統(tǒng)表所做的任何更改都生效。

mysqladmin -u root -p shutdown
mysqld_safe --user=mysql --datadir=/path/to/5.7-datadir

官網(wǎng):

https://dev.mysql.com/doc/refman/5.7/en/upgrading.html

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI