成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL DBA必備:MySQL 5.7升級8.0過程(全)

數據庫 MySQL
每個 DBA 在工作中都會面臨數據庫升級的問題,本文詳細介紹MySQL 從 5.7 升級到 8.0 的過程,希望可以幫助到大家。

為什么升級到MySQL 8.0

  1.  基于安全考慮
  2.  基于性能和 穩定性考慮:
  3.  mgr復制 ,并行復制writeset 等功能,性能提升
  4.  新的功能:
  5.  Hash join ,窗口函數,DDL即時,json 支持
  6.  原始環境中版本太多,統一版本
  7.  8.0版本基本已到穩定期,可以大量投入生產環境中

升級之前需要了解

  1.     數據庫字典升級

    schema,mysql,information_schema,performance_schema,sys

    比如:密碼測試 mysql_native_password → caching_sha2_password

      2.  關鍵詞是不是兼容

    https://dev.mysql.com/doc/refman/8.0/en/keywords.html

    關鍵詞 added in查詢

      3.  SQL是不是兼容

    Group by處理上的不兼容,觸發器,存儲過程

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

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

      4.  數據文件存儲格式是不是可以直接升級

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

      5.  現有應用的兼容性是否滿足

    自定義函數,一些不規范的SQL語句等等

      6.  密碼策略

What Is New in MySQL 8.0

作為DBA需要基本了解8.0的一些功能,參考:https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

  •  Added in 添加功能
  •  Features Deprecated 棄用功能
  •  Features Removed 移除功能

升級準備事項

已經了解8.0的特性,應對升級需要事先進行驗證和準備工作

  1.  測試庫升級,應用驗證
  2.  數據庫升級,末知問題發生
  3.  my.cnf配置信息調整
  4.  不兼容的操作方法,影響復制
  5.  一個平穩的過濾,列如先升級一個從庫,到所有從庫
  6.  最少停機時間,同樣生產數據恢復到環境,進行模擬升級,評估時間
  7.  怎樣進行數據驗證:行數,表的數量 等等
  8.  考慮回滾方案
  9.  數據庫備份

升級前檢查

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

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-upgrade.html

下面2種方式 

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

按照提示的要求進行更改

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

比如以下內容都不會存在提示:

1. basedir,

2. sql_mode ,

3. 半同步配置,

4. 密碼策略:default_authentication_plugin = mysql_native_password

開始升級

官網下載對應的tar包

https://downloads.mysql.com/archives/community/

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

執行mysql_upgrade命令,會提示如下: 

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

在MySQL 8中mysql_upgrade客戶端現已棄用。升級客戶端執行的操作現在由服務器完成。

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

所以必須在測試環境模擬準備對應SQL語句

正確操作如下:

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

關閉innodb參數確認 

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

確保數據都刷到硬盤上,更改成0 

  1. mysql> set global innodb_fast_shutdown=0;Query OK, 0 rows affected (0.01 sec)  
  2. mysql> shutdown;Query OK, 0 rows affected (0.00 sec)  
  3. *進行備份。 

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

啟動mysql服務 

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

登錄服務器確認 

  1. [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引擎 

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

剩下的就是驗證 和 業務確認否應用正常。

總結

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

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

 

責任編輯:龐桂玉 來源: 數據庫開發
相關推薦

2019-07-19 15:53:45

MySQL 5.7MySQL 8.0MySQL

2023-10-31 07:27:22

開源工具MySQL協議

2021-08-25 07:56:37

MySQLMyRocks存儲

2024-04-18 09:00:00

MySQL數據庫

2017-05-24 08:49:35

Oracle數據庫Abrar Syed

2024-02-26 07:39:16

2020-12-31 05:35:53

MySQL 8.0MySQL 5.7JSON

2011-03-31 13:39:14

mysql3mysql5亂碼

2023-02-28 00:01:53

MySQL數據庫工具

2013-05-20 10:39:55

MariaDB

2020-11-03 14:30:02

MySQL5.7MyS8.0數據庫

2022-06-20 12:00:43

MySQL數據庫升級

2009-06-23 08:35:12

微軟Windows 7操作系統

2009-08-16 09:25:55

Windows 7系統升級

2009-06-05 08:55:16

2012-05-11 09:54:23

微軟Windows 8

2010-05-06 09:57:45

RHEL 5.5升級

2012-12-12 09:53:50

Windows 8

2009-09-17 08:39:52

Windows 7系統升級

2020-04-02 14:33:42

MySQLBUG解決方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: jlzzjlzz国产精品久久 | 国产美女在线精品免费 | 国产精品亚洲一区二区三区在线观看 | 欧美久久国产 | 一区二区三区在线电影 | 毛片区| 在线免费观看视频黄 | 亚洲一区二区三区桃乃木香奈 | 精品久久久久久久人人人人传媒 | 国产一区视频在线 | 亚洲一区二区在线播放 | 国产精品久久久久久久久久久久午夜片 | 人人玩人人添人人澡欧美 | 九九热这里只有精品6 | 日韩视频一区二区 | 国产精品久久久久久网站 | av网站在线看 | 国产三级一区二区 | 国产精品九九视频 | 精品日本中文字幕 | 国产一区二区在线播放 | 日本午夜网 | 国产中文字幕av | 亚洲视频一区在线观看 | 亚洲免费一区二区 | 成人做爰69片免费观看 | 精品视频久久久 | a级在线免费视频 | 欧美一二三区 | 人人干人人干人人 | av黄色在线 | 欧美一区二区三区日韩 | 国产高清一区二区三区 | 美女视频h| 国产91成人| 日本又色又爽又黄又高潮 | 在线观看视频91 | 亚洲精品乱码久久久久久按摩观 | 亚洲国产精品区 | 成人精品视频 | 日本不卡一区二区三区 |