記一次mysql小版本升級

  最近護網操作比較緊,基線和漏洞檢查比較頻繁,新掃描出來的mysql漏洞需要修復,沒有啥好的修復方法,只剩下升級版本這一條路,生產環境是5.7.12,二進制文件直接解壓使用的,看了一下現在最新的版本,5.7.30,好像能解決所有的漏洞問題,直接就幹了。

  mysql的小版本的升級,主要是有兩種方式,一種是物理升級,也就是本地停庫,替換二進制文件,然後重新啟動數據庫,執行在線upgrade操作,另一種是邏輯升級,將原有的數據庫數據,dump導出為sql文件,然後在新安裝的數據庫中進行導入操作。

  考慮到本地環境,數據量比較大,單獨硬盤存儲,我選擇了直接升級操作。

  主要操作如下:

  1.下載文件:

    直接訪問mysql官方站點下載mysql二進制文件,網絡條件受限,下載很慢,整個二進制包660M呢,根本下載不下來,還好國內有站點,選擇清華、網易等鏡像源,分分鐘就將安裝包下載下來了。

  2.上傳文件,解壓

    直接在指定目錄下,解壓,生成mysql-5.7.30-log目錄

  3.停庫

    由於數據庫裏面有主從服務,先關閉主庫和從庫的slave進程,然後關閉日誌binlog同步服務,設置innodb的慢關閉,SET GLOBAL innodb_fast_shutdown=0;

  4.卸載umount,創建軟連接

    數據庫data目錄是單獨的掛載,等數據庫完全關閉後,執行umount操作,然後將原有的mysql目錄重命名(以前直接是做的重命名,沒有軟連接),將5.7.30目錄做軟連接,鏈接到mysql目錄上。

  5.查看命令,啟動數據庫

    通過which查看mysql等命令的位置,是否能查到,如果查不到,看一下本地path,mount數據目錄,然後啟動數據庫,看日誌是否有異常

  6.執行upgrade操作

    mysql_upgrade直接執行,如果有general_log和slow_log可能會有報錯,時間較長,但是無關緊要,畢竟不是真的數據

    升級完成之後,直接關閉數據庫,然後重新啟動,就完成升級了。

 

  總體來說,mysql的小版本升級,還是很簡單的,我這個操作是比較冒險的,升級前沒有做備份操作。

Tags: