国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

詳細講解安全升級MySQL的方法

來源:懂視網 責編:小采 時間:2020-11-09 20:58:36
文檔

詳細講解安全升級MySQL的方法

詳細講解安全升級MySQL的方法:MySQL升級是非常必要的. 我們在Percona Support上列出了關于MySQL升級最佳實踐的各種問題.這篇文章推薦了一些不同情況下升級MySQL的方法. 為什么MySQL升級是必須的? 原因有很多,比如:為了使用新增的特性,基于性能方面的考量, 修復的bug. 但是在
推薦度:
導讀詳細講解安全升級MySQL的方法:MySQL升級是非常必要的. 我們在Percona Support上列出了關于MySQL升級最佳實踐的各種問題.這篇文章推薦了一些不同情況下升級MySQL的方法. 為什么MySQL升級是必須的? 原因有很多,比如:為了使用新增的特性,基于性能方面的考量, 修復的bug. 但是在

MySQL升級是非常必要的. 我們在Percona Support上列出了關于MySQL升級最佳實踐的各種問題.這篇文章推薦了一些不同情況下升級MySQL的方法.

為什么MySQL升級是必須的? 原因有很多,比如:為了使用新增的特性,基于性能方面的考量, 修復的bug. 但是在沒有充分的測試以前就應用到你的應用中是非常危險的, 因為升級可以能會讓你的應用不能正常運作- 也可能引起性能的問題. 此外, 我建議你關注MySQL的發布信息和Percona Server - 看看最近的版本有什么變化. 也許在在最新的版本中已修復了某個你正在煩惱的問題.

通過SQL Dump升級主版本:

把Percona Server從5.1升級到5.5版本或者是從5.5升級到5.6版本的升級模式同樣適用于Oracle MySQL.

首先, 主版本升級并不是說可以不做任何準備,或者沒有任何風險. 在升級之前你需要閱讀相關的“升級”文檔,比如:MySQL5.1到MySQL5.5的升級文檔,MySQL5.5到MySQL5.6的升級文檔.在這些文檔里面你需要特別注意“Incompatible Change”部分,并檢查你是否會受到這些變化的影響.它們可能是配置參數名字變更, 去掉舊的參數,引入新的參數等- 你需要根據這些變化在my.cnf文件做相應的變更.Percona Server 5.5需要特別注意的文檔在這里, Percona Server 5.6需要特別注意的文檔在這里.

現在,你有幾種可行的方式升級,其中一種較靈活,另一種則依賴你當前系統的拓撲結構和數據庫數據大小 - 這種方法比前一種更安全。我們看個例子從 Percona Server 5.5 升級到 Percona Server 5.6,來具體看一下彼此的升級過程。

通常情況下,有兩中升級方式:

  1.     直接升級:安裝好新版本數據庫后,利用已經存在的數據文件夾,同時運行mysql_upgrade腳本來升級。
  2.     SQL 導出: 從一個較老版本的mysql把數據導出,然后恢復到新版本的數據庫中。(利用mysqldump工具)。

相比之下,第二種方式更安全些,但是這也會使得升級的過程要慢一些。

理論上講,最安全的方式是:

  •     導出所有用戶的權限
  •     導出所有數據并恢復到新版本數據庫中
  •     恢復用戶權限到新數據庫中

  • 下面是基本的操作步驟(在開始之前最好停止有關數據庫操作的應用).

    1) 獲取用戶和權限信息. 該操作會備份所有用戶的權限.
     

    $ wget percona.com/get/pt-show-grants;
    $ perl pt-show-grants --user=root --ask-pass --flush > /root/grants.sql
    

    2) dump 5.5數據庫實例的所有信息(除去mysql, information_schema 和performance_schema數據庫).
     

    $ mysql -BNe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN ('mysql', 'performance_schema', 'information_schema')" | tr 'n' ' ' > /root/dbs-to-dump.sql
    $ mysqldump --routines --events --single-transaction --databases $(cat /root/dbs-to-dump.sql) > /root/full-data-dump.sql
    

    3) 停止數據庫

     

    $ service mysql stop
    

    or

    $ /etc/init.d/mysql stop
    

    4) 移動舊數據庫(5.5版本)的數據目錄(假設是/var/lib/mysql,此處應該改為你自己的數據目錄)
     

    $ mv /var/lib/mysql/ /var/lib/mysql-55
    

    5) 安裝5.6版本(按照正常安裝流程). 如果你不是用的yum/apt-get方式安裝的,你需要執行 mysql_install_db 和mysql_upgrade兩個命令.

    6) 將在1)操作中導出的用戶信息導入到新數據庫中.

     
    mysql -uroot < /root/grants.sql
    

    7) 將2)導出的數據導入到新數據庫.
     

    $ mysql -e "SET GLOBAL max_allowed_packet=1024*1024*1024";
    $ mysql -uroot -p --max-allowed-packet=1G < /root/full-data-dump.sql;
    

    此時, 所有的表都在MySQL 5.6中重建及重新加載完成,所以所有的二進制文件對MySQL 5.6可用. 同時也你完成了最干凈/最穩定的升級過程,你可以恢復你的應用- 這個升級過程和valina MySQL與Percona Server的升級過程是一樣的.甚至你可以把Oracle MySQL升級到Percona Server. 比如: 把Oracle MySQL 5.5升級到Percona Server 5.6. 再次強調: MySQL的升級過程和Percona Server的升級過程是一樣的,只需要將Percona Server 替換成Oracle MySQL即可.

    "SQL dump" 也可以稱為邏輯備份.用升級后的MySQL二進制文件來重建所有的表基本沒有兼容問題,從這一方面來說"SQL dump"更安全. 但是對于TB, GB級的大數據來說,這種方法非常的耗時. 另一方面, 備份/重新加載如此大的數據集,比如重建InnoDB表,你需要恢復很多的空閑磁盤,這樣會引起的磁盤碎片整理優化.對于常更新或者刪除的數據來說, 這么做是有益的.

    用In-Place升級小版本:

    這種升級方式是在一個主版本內做小版本升級, 比如把MySQL 5.5.35升級到MySQL 5.5.38或者是把Percona Server 5.6.14升級到最新的Percona Server 5.6.20

    這被稱為一個就地升級,你只安裝一個新的二進制包,然后運行mysql_upgrade腳本,如果必要的話,檢查和更新系統表。仍然,就地升級我們強烈推薦檢查新功能的發布說明,bug修復等。Percona Server 5.5 和 Percona Server 5.6 發行說明可以分別在這兒和那兒找到。

    當我們需要升級Percona服務器時,針對它的Percona-specific的一些特性,對于Percona服務器我們有額外的文檔描述一些細節,可以在這兒和那兒找到。這也包括完成就地升級過程的和yum/apt的包管理器。

    同時,在安全方面你可以升級那些使用較早描述的邏輯轉儲程序,mysqldump或mydumper程序——前者并行備份和恢復和邏輯備份,升級是最安全的方法。

    直接升級到最新版本:

    跳過5.1版本直接把MySQL從5.0版本升級到5.5版本,或者跳過5.5版本直接從MySQL 5.1升級到5.6.甚至,可以直接從MySQL 5.0升級到MySQL 5.6雖然現在只有少數人還在使用MySQL 5.0版本. 這種同樣使用于Percona Server.

    在這里我們假設跳過5.5版本,把Oracle MySQL或者Percona Server直接從5.1版本升級到5.6版本.


    在開始之前,你要意識到這是一個很慎重的操作,將一步跨過一個重要的MySQL版本。也就是說,這是有風險的。用二進制文件升級是不建議的,而且這樣直接跨越一個重要版本也是不安全的,所以你絕不能這樣5.0->5.5,5.1->5.6,或者5.0->5.6做。有一個問題是,MySQL版本不是所有改變都前向兼容的。新版本中介紹的一些改變可能不僅會影響數據如何處理,還會影響服務器行為包括SQL語句和MySQL服務器和內部存儲引擎(此處不知標準否)。另一個問題是MySQL5.0與5.6版本之間的變化,一些默認的設置變量被改變了,這可能會導致結果完全不一樣或者行為完全不同。例如:MySQL5.5的默認存儲引擎是InnoDB,MySQL5.6的存儲引擎InnoDB將可以為每個數據庫表創建單獨表空間(separate tablespace),還有GTID復制(GTID replication)也被引入。有太多細節這里就不一一列舉了,所有這些改變都被描述在MySQL的“升級文檔”中,詳情可以查看升級文檔。


    這里重點提一下,極不推薦跳過一個重要版本來升級。從MySQL5.1升級到5.6不應該一步完成,我建議先從5.1升級到5.5,再從5.5升級到5.6,每步都要運行MySQL自動升級(mysql_upgrade)。這將比較有效處理手冊上所說的升級改變。

    MySQL的升級預防措施:

    MySQL的升級預防措施是升級的一個基本部分。在你升級之前,確保你在新的MySQL版本中徹底測試了所有的應用功能。這對重要版本之間的升級尤為重要,對重要版本之間的跨越升級也很重要(例如,從MySQL5.1升級到MySQL5.6)。

    確保你認真閱讀了發行說明,并且你清楚所有改變。你可以從以下鏈接中獲取Oracle MySQL 5.5和5.6的發行說明:

    http://dev.mysql.com/doc/relnotes/mysql/5.5/en/

    http://dev.mysql.com/doc/relnotes/mysql/5.6/en/

    Percona Server有單獨的發行說明,按上面說的順序可以參看以下鏈接:

    http://www.percona.com/doc/percona-server/5.5/release-notes/release-notes_index.html
    http://www.percona.com/doc/percona-server/5.6/release-notes/release-notes_index.html

    如果你計劃升級到 Oracle MySQL 5.6 或者 Percona Server 5.6,我建議你首先檢查以下已經存在的關鍵bugs。以下是你需要注意的一些bugs:

    http://bugs.mysql.com/bug.php?id=66546
    http://bugs.mysql.com/bug.php?id=68953
    http://bugs.mysql.com/bug.php?id=69444
    http://bugs.mysql.com/bug.php?id=70922
    http://bugs.mysql.com/bug.php?id=72794
    http://bugs.mysql.com/bug.php?id=73820


    升級的層次結構:

    這也是每一次MySQL升級的關鍵。你需要根據一個升級層次結構來做你的每次升級。建議的次序結構是:首先升級 dev/QA servers,然后升級 staging server,最后升級到 production servers上。實際上,你可以縮小升級的步伐,一步一步升級到你想要的版本,每步都可以充分地測試原來的應用。

    一旦你對在test servers, staging servers等上運行的升級感到滿意后,你就可以在你的production servers上進行升級了。在副本環境下,我建議你先升級MySQL slaves(一個接一個的)最后升級MySQL master。實際上,你可以先升級一個slaves,讓它在安全環境下運行幾天,同時觀察仔細觀察它的運行情況。如果你的服務器中沒有副本環境的設置,那么還是值得建立一個副本環境來測試新版的MySQL的。一旦你對升級結果感到滿意,你可以升級其他的slaves,最后升級master。

    Percona軟件包幫助你MySQL升級:

    在MySQL升級中,Percona Toolkit 都能幫助你。Percona Toolkit 的一些工具將會起到很大的作用。

    pt-upgrade 是其中的一個工具。它使你能測試新版MySQL實例是否能夠達到像老版本處理一些特定查詢的時候一樣的速度。新版本可能有一些本質上的改變,因為MySQL的查詢優化器從5.1到5.6已經有了重大改變,還有數據統計可能刷新,因此查詢計劃會改變。你可以在手冊中看到更多優化器的改變。

    pt-query-digest 是另一個能給你極大幫助的工具。你可以多次運行你的slow query log,以比較確認在現在的版本和新版本之間的表現差別。

    你也可以從MySQL的Percona Cloud Tools中獲得幫助,這是一個托管服務,可以為所有MySQL的使用提供查詢性能分析。現在你可以免費注冊這個服務,因為現在這項服務在進行公開測試。Percona Cloud Tools在許多同類產品中,能讓你可視化的觀察到每次MySQL升級后的查詢表現。

    再次重申,強烈建議你每次更新MySQL前備份數據。Percona XtraBackup就是一款免費、開源的(就像所有Percona軟件一樣)。這是一個熱備份工具,它允許你在線備份數據而不影響你對數據庫的讀寫操作,而且它備份數據時產生很小的影響。 
    結論:

    一次MySQL升級看起來是個簡單的任務,但實際上并沒有那么簡單。我試圖在這篇文章中最大限度覆蓋所有有關MySQL升級中你可能遇到的情況。再次強調,我建議你在應用更新的版本之前,先測試一下你的應用在新版本中的效果。否則,可能會使你的應用崩潰,或者得到的不是提高查詢效率而是降低查詢效率。最后,我建議你準備一個降級計劃或措施,以防你升級之后出現不可預料的錯誤。在問題出現的時候,有一個規劃好的降級程序將會極大的減少你的應用停工期。期待你在下面發表評論和提問。

    您可能感興趣的文章:

  • MySQL 升級方法指南大全
  • CentOS系統中PHP和MySQL的升級方法
  • linux下安裝升級mysql到新版本(5.1-5.7)
  • Centos 6.3將Mysql 5.1.61升級為mysql 5.6.19遇到的問題及解決方式
  • mysql版本5.5.x升級到5.6.x步驟分享
  • 圖解MYSQL的安裝和數據升級
  • 在Windows平臺上升級MySQL注意事項
  • Win下Mysql5.6升級到5.7的方法
  • Mysql5升級到Mysql5.5的方法
  • ubuntu下mysql版本升級到5.7
  • 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    詳細講解安全升級MySQL的方法

    詳細講解安全升級MySQL的方法:MySQL升級是非常必要的. 我們在Percona Support上列出了關于MySQL升級最佳實踐的各種問題.這篇文章推薦了一些不同情況下升級MySQL的方法. 為什么MySQL升級是必須的? 原因有很多,比如:為了使用新增的特性,基于性能方面的考量, 修復的bug. 但是在
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 一级毛片免费视频观看 | 国产精品高清一区二区 | 国内精品久久久久久久97牛牛 | 精品一区二区三区免费观看 | 免费一级 一片一毛片 | 国产亚洲综合成人91精品 | 国产va精品免费观看 | 国产一区二区三区在线看 | 青青青国产在线观看 | 在线播放五十路乱中文 | 97久久精品午夜一区二区 | 免费观看一级成人毛片 | 欧美日韩另类综合 | 国产女人在线视频 | 国产亚洲欧美一区二区三区 | 日韩欧美高清一区 | 劲爆欧美色欧美 | 国产成人欧美一区二区三区的 | 亚洲欧美另类第一页 | 小说区 亚洲 自拍 另类 | 99久久免费国产精精品 | 日韩视频在线播放 | 一区二区三区在线播放 | 国产精品激情综合久久 | 欧美首页 | 一区二区三区网站 | 欧美专区亚洲 | 国产精品v欧美精品v日本精 | 亚洲高清在线观看 | 国产在线不卡 | 国产欧美综合在线一区二区三区 | 成人精品一区二区三区 | 日韩免费观看 | 91视频色 | 一级毛片免费毛片一级毛片免费 | 中文字幕日韩一区二区三区不卡 | 国产精品成人一区二区1 | 国产精品亚洲欧美一级久久精品 | 看全黄大色大黄美女 | 视频精品一区二区三区 | 亚洲欧美日韩高清 |