国产精品成人网站,日韩视频二区,亚洲成人手机电影,怡红院国产

行業(yè)產(chǎn)品

  • 行業(yè)產(chǎn)品

安徽思成儀器技術(shù)有限公司


當(dāng)前位置:安徽思成儀器技術(shù)有限公司>技術(shù)文章>mysql升級(jí),DBA:MySQL 5.7升級(jí)8.0全過程
技術(shù)文章

mysql升級(jí),DBA:MySQL 5.7升級(jí)8.0全過程

閱讀:21發(fā)布時(shí)間:2024-11-23

為什么升級(jí)到MySQL 8.0

基于安全考慮基于性能和 穩(wěn)定性考慮:

mgr復(fù)制 ,并行復(fù)制writeset 等功能,性能提升新的功能:

Hash join ,窗口函數(shù),DDL即時(shí),json 支持原始環(huán)境中版本太多,統(tǒng)一版本8.0版本基本已到穩(wěn)定期,可以大量投入生產(chǎn)環(huán)境中

升級(jí)之前需要了解

數(shù)據(jù)庫字典升級(jí)

schema,mysql,information_schema,performance_schema,sys

比如:密碼測(cè)試 mysql_native_password → caching_sha2_password

關(guān)鍵詞是不是兼容

關(guān)鍵詞 added in查詢

SQL是不是兼容

Group by處理上的不兼容,觸發(fā)器mysql升級(jí),存儲(chǔ)過程

5.6 可以跑select id,count(*)from group by name;

5.7,8.0是不是允許的 sql_mode控制

mysql升級(jí) upgrade_phpnow升級(jí)mysql版本_mysql升級(jí)

數(shù)據(jù)文件存儲(chǔ)格式是不是可以直接升級(jí)

Perconal 和 mysql 存儲(chǔ)引擎一直,可以兼容

現(xiàn)有應(yīng)用的兼容性是否滿足

自定義函數(shù),一些不規(guī)范的SQL語句等等

密碼策略

What Is New in MySQL 8.0

作為DBA需要基本了解8.0的一些功能,參考:

phpnow升級(jí)mysql版本_mysql升級(jí)_mysql升級(jí) upgrade

phpnow升級(jí)mysql版本_mysql升級(jí) upgrade_mysql升級(jí)

phpnow升級(jí)mysql版本_mysql升級(jí) upgrade_mysql升級(jí)

升級(jí)準(zhǔn)備事項(xiàng)

已經(jīng)了解8.0的特性,應(yīng)對(duì)升級(jí)需要事行驗(yàn)證和準(zhǔn)備工作測(cè)試庫升級(jí),應(yīng)用驗(yàn)證

mysql升級(jí) upgrade_mysql升級(jí)_phpnow升級(jí)mysql版本

數(shù)據(jù)庫升級(jí),末知問題發(fā)生

f配置信息調(diào)整

不兼容的操作方法,影響復(fù)制

一個(gè)平穩(wěn)的過濾,列如先升級(jí)一個(gè)從庫,到所有從庫

最少停機(jī)時(shí)間,同樣生產(chǎn)數(shù)據(jù)恢復(fù)到環(huán)境,進(jìn)行模擬升級(jí),評(píng)估時(shí)間

怎樣進(jìn)行數(shù)據(jù)驗(yàn)證:行數(shù),表的數(shù)量 等等

考慮回滾方案

數(shù)據(jù)庫備份

升級(jí)前檢查

Mysql8.0還是提供了很多方便,不像之前一樣5.6升級(jí)5.7那樣?,F(xiàn)在可以通過mysql shell進(jìn)行確認(rèn)。

下面2種方式


mysql升級(jí)_phpnow升級(jí)mysql版本_mysql升級(jí) upgrade

#mysqlsh root:123456@192.168.244.130:3410 -e 'util.checkForServerUpgrade({"targetVersion":"8.0.19","configPath":"/etc/f"})';
MySQL JS > util.checkForServerUpgrade('root@192.168.244.130:3410', {"password":"123456", "targetVersion":"8.0.11", "configPath":"/etc/f"})

phpnow升級(jí)mysql版本_mysql升級(jí) upgrade_mysql升級(jí)
phpnow升級(jí)mysql版本_mysql升級(jí) upgrade_mysql升級(jí)
mysql升級(jí)_phpnow升級(jí)mysql版本_mysql升級(jí) upgrade

按照提示的要求進(jìn)行更改

mysql升級(jí)_mysql升級(jí) upgrade_phpnow升級(jí)mysql版本

雖然shell做的很好,但還是存在一些缺陷。

比如以下內(nèi)容都不會(huì)存在提示:

1. basedir,

2. sql_mode ,

3. 半同步配置,

4. 密碼策略:default_authentication_plugin = mysql_native_password

開始升級(jí)

下載對(duì)應(yīng)的tar包

mysql升級(jí) upgrade_phpnow升級(jí)mysql版本_mysql升級(jí)

下面是單機(jī)升級(jí),高可用架構(gòu)下 需要先升級(jí)從庫,在逐步升級(jí)主庫。

執(zhí)行mysql_upgrade命令,會(huì)提示如下:


#/mysql8.0.19/bin/mysql_upgrade -uroot -p123456

mysql升級(jí)_phpnow升級(jí)mysql版本_mysql升級(jí) upgrade

在MySQL 8中mysql_upgrade客戶端現(xiàn)已棄用。升級(jí)客戶端執(zhí)行的操作現(xiàn)在由服務(wù)器完成。

要升級(jí),請(qǐng)使用較舊的數(shù)據(jù)目錄啟動(dòng)新的 MySQL 二進(jìn)制文件。自動(dòng)修復(fù)用戶表。升級(jí)后不需要重新啟動(dòng)。

所以必須在測(cè)試環(huán)境模擬準(zhǔn)備對(duì)應(yīng)SQL語句

正確操作如下:

1)登錄服務(wù)器進(jìn)行正常關(guān)閉:innodb_fast_shutdown是默認(rèn)是1mysql升級(jí),常常認(rèn)為是安全關(guān)閉


關(guān)閉innodb參數(shù)確認(rèn)


mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
|
innodb_fast_shutdown | 1 |
+----------------------+-------+
1 row in set (0.00 sec)

確保數(shù)據(jù)都刷到硬盤上,更改成0

mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.01 sec)
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
*進(jìn)行備份。

2)用mysql8.0.19客戶端直接啟動(dòng)

啟動(dòng)mysql服務(wù)


[root@ss30 bin]# /opt/mysql8.0.19/bin/mysqld_safe --defaults-file=/etc/f --user=mysql &
[1] 15400
[root@ss30 bin]# 2020-04-25T13:07:16.591560Z mysqld_safe Logging to '/opt/data3400/logs/error.log'.
2020-04-25T13:07:16.636879Z mysqld_safe Starting mysqld daemon with databases from /opt/data3400/mysql
##打開另一個(gè)窗口查看error日志
[root@ss30 ~]# tail -f /opt/data3400/logs/mysql_error.log

登錄服務(wù)器確認(rèn)

[root@ss30 ~]# mysql -uroot -p -S /opt/data3400/mysql/mysql.sockEnter
password:
Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 10Server version: 8.0.19 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.19 |
+-----------+
1 row in set (0.01 sec)

無myisam引擎

mysql> SELECT table_schema,table_name,engine
FROM information_schema.tables
where engine!='InnoDB';

剩下的就是驗(yàn)證 和 業(yè)務(wù)確認(rèn)否應(yīng)用正常。

總結(jié)

整個(gè)從升級(jí)準(zhǔn)備開始 到結(jié)束,中間包含很多細(xì)致的工作。比如版本確認(rèn),功能確認(rèn),測(cè)試,準(zhǔn)備,備份,驗(yàn)證,高可用切換等等。前期需要投入很多精力進(jìn)行準(zhǔn)備,這樣才能做到一步到位。

升級(jí)完,下一步踏上8.0的使用旅程。

mysql升級(jí)_mysql升級(jí) upgrade_phpnow升級(jí)mysql版本


mysql升級(jí)_phpnow升級(jí)mysql版本_mysql升級(jí) upgrade
最后給大家分享我寫的SQL兩件套:《SQL基礎(chǔ)知識(shí)第二版》《SQL高級(jí)知識(shí)第二版》的PDF電子版。里面有各個(gè)語法的解釋、大量的實(shí)例講解和批注等等,非常通俗易懂,方便大家跟著一起來實(shí)操。

有需要的讀者可以下載學(xué)習(xí),在下面的公眾號(hào)「數(shù)據(jù)前線」(非本號(hào))后臺(tái)回復(fù)關(guān)鍵字:SQL,就行
數(shù)據(jù)前線
mysql升級(jí)_mysql升級(jí) upgrade_phpnow升級(jí)mysql版本

后臺(tái)回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨后臺(tái)回復(fù)關(guān)鍵字:進(jìn)群,帶你進(jìn)入高手如云的。


儀表網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ? Copyright(C)?2021 http://caturday.cn,All rights reserved.

以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),儀表網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。 溫馨提示:為規(guī)避購買風(fēng)險(xiǎn),建議您在購買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~