沈樵综合在线,一区二区三区乱码,免费资源一区二区三区,91超碰碰,av极品一线天,日韩免费高清一区二区,国产蜜尤福利在线,嗯啊91在线观看,精品一区二三

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

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

安徽思成儀器技術有限公司


當前位置:安徽思成儀器技術有限公司>技術文章>mysql升級,DBA:MySQL 5.7升級8.0全過程
技術文章

mysql升級,DBA:MySQL 5.7升級8.0全過程

閱讀:73發(fā)布時間:2024-11-23

為什么升級到MySQL 8.0

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

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

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

升級之前需要了解

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

schema,mysql,information_schema,performance_schema,sys

比如:密碼測試 mysql_native_password → caching_sha2_password

關鍵詞是不是兼容

關鍵詞 added in查詢

SQL是不是兼容

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

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

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

mysql升級 upgrade_phpnow升級mysql版本_mysql升級

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

Perconal 和 mysql 存儲引擎一直,可以兼容

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

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

密碼策略

What Is New in MySQL 8.0

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

phpnow升級mysql版本_mysql升級_mysql升級 upgrade

phpnow升級mysql版本_mysql升級 upgrade_mysql升級

phpnow升級mysql版本_mysql升級 upgrade_mysql升級

升級準備事項

已經(jīng)了解8.0的特性,應對升級需要事行驗證和準備工作測試庫升級,應用驗證

mysql升級 upgrade_mysql升級_phpnow升級mysql版本

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

f配置信息調整

不兼容的操作方法,影響復制

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

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

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

考慮回滾方案

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

升級前檢查

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

下面2種方式


mysql升級_phpnow升級mysql版本_mysql升級 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升級mysql版本_mysql升級 upgrade_mysql升級
phpnow升級mysql版本_mysql升級 upgrade_mysql升級
mysql升級_phpnow升級mysql版本_mysql升級 upgrade

按照提示的要求進行更改

mysql升級_mysql升級 upgrade_phpnow升級mysql版本

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

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

1. basedir,

2. sql_mode ,

3. 半同步配置,

4. 密碼策略:default_authentication_plugin = mysql_native_password

開始升級

下載對應的tar包

mysql升級 upgrade_phpnow升級mysql版本_mysql升級

下面是單機升級,高可用架構下 需要先升級從庫,在逐步升級主庫。

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


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

mysql升級_phpnow升級mysql版本_mysql升級 upgrade

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

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

所以必須在測試環(huán)境模擬準備對應SQL語句

正確操作如下:

1)登錄服務器進行正常關閉:innodb_fast_shutdown是默認是1mysql升級,常常認為是安全關閉


關閉innodb參數(shù)確認


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)
*進行備份。

2)用mysql8.0.19客戶端直接啟動

啟動mysql服務


[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
##打開另一個窗口查看error日志
[root@ss30 ~]# tail -f /opt/data3400/logs/mysql_error.log

登錄服務器確認

[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è)務確認否應用正常。

總結

整個從升級準備開始 到結束,中間包含很多細致的工作。比如版本確認,功能確認,測試,準備,備份,驗證,高可用切換等等。前期需要投入很多精力進行準備,這樣才能做到一步到位。

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

mysql升級_mysql升級 upgrade_phpnow升級mysql版本


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

有需要的讀者可以下載學習,在下面的公眾號「數(shù)據(jù)前線」(非本號)后臺回復關鍵字:SQL,就行
數(shù)據(jù)前線
mysql升級_mysql升級 upgrade_phpnow升級mysql版本

后臺回復關鍵字:1024,獲取一份精心整理的技術干貨后臺回復關鍵字:進群,帶你進入高手如云的。


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

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

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
射洪县| 吉林市| 库车县| 永昌县| 桐庐县| 澎湖县| 水富县| 桐庐县| 枣庄市| 兴山县| 彭阳县| 遂溪县| 三河市| 绥芬河市| 盱眙县| 汉中市| 新乐市| 崇仁县| 娄底市| 广河县| 左云县| 磴口县| 墨竹工卡县| 特克斯县| 沽源县| 陕西省| 濉溪县| 抚远县| 旬阳县| 玉林市| 新绛县| 峨眉山市| 凤庆县| 临桂县| 江阴市| 易门县| 光泽县| 晋宁县| 新巴尔虎左旗| 阳谷县| 神木县|