mysql升級-rpm包

0.緒論 html

  公司爲了安全須要,要將mysql版本升級至最新版本mysql5.7.21,升級以前的版本是mysql5.7.20。本文是升級過程記錄。  mysql

  因爲yum的資源中沒有mysql的安裝包,所以本文選擇先在mysql官網上下載rpm安裝包,而後再經過yum安裝。linux

  根據mysql的官方說明,mysql在連續的小版本之間升級很容易,好比mysql5.5升級到5.6,本文中就更簡單了,小版本都沒變。sql

  mysql小版本之間的升級的基本過程以下:數據庫

  (1)rpm包下載centos

  (2)解壓rpm包,並安裝新版本:安全

  yum install mysql-community-{server,client,common,libs}-*

  (3)啓動mysql服務便可:service mysqld start服務器

  (4)在命令窗口執行mysql_update,解決舊版本數據跟新版本mysql的不兼容問題(注意,該命令會使用mysql用戶'root'@'localhost'登陸mysql,密碼爲空。執行以前先確保你的mysql存在對應用戶和密碼,不然會報錯。)spa

  (5)驗證升級成功與否操作系統

  說明:

    升級過程其實就是上述過程的第2步(yum install mysql-community-{server,client,common,libs}-*),也就是說升級過程所有由mysql官方提供。對用戶來講,跟安裝一個新的mysql過程是同樣的。在yum install時,首先會監測mysql服務有沒有啓動,若是mysql服務啓動的話,會首先將mysql服務關閉。其次,mysql會檢測系統中已安裝的rpm包,而且將舊的rpm包刪除,而後再安裝新的rom包。

  值得注意的是,咱們數據庫中的記錄在整個升級過程當中都沒有被改變。升級以後,原有的數據仍然在,這是一個很是使人開心的點。

1.升級記錄截圖

(1)升級以前,查看一下舊的安裝包:

(2)根據服務器操做系統,在mysql官網下載指定版本的mysql rpm包。本文中要升級的服務器操做系統是centos6,所以選擇下圖紅框中的rpm壓縮包。

  說明一下,mysql官方對每一個版本都提供了不少rpm包,包括rpm bundle是mysql全部rpm包的壓縮包,很是方便。

(3)將rpm包上傳至服務器,並解壓

解壓命令:tar -xvf mysql-5.7.21-1.el6.x86_64.rpm-bundle.tar

(4)將解壓出的rpm包移動到一個目錄下

(5)關閉服務器的mysql服務(這步能夠省略,根據官方說明,mysql在更新時首先會關閉本機的mysql服務,而後再執行更新)

(6)在rpm包目錄執行如下命令,直接安裝5.7.21

命令:yum install mysql-community-{server,client,common,libs}-*

(7)更新完畢,重啓服務便可

(8)更新命令:負責解決舊版本數據跟新版本mysql的不兼容問題

  命令:mysql_upgrade

  注意,該命令會使用mysql用戶'root'@'localhost'登陸mysql,密碼爲空。執行以前先確保你的mysql存在對應用戶和密碼,不然會報錯。

 

(9)登陸mysql,驗證版本

 (10)結果驗證:查看安裝的rpm包,能夠看到都更新爲了mysql5.7.21版本的

 2.跨版本的mysql升級

  以前還有一次從mysql5.1升級到mysql5.7的經歷,在此一塊兒記錄一下。

  流程跟上面的基本一致,可是有幾個問題列一下:

(1)在第二步(yum install)時報錯:mysql舊版本的rpm包存在yum沒法解決的依賴關係,沒法卸載

  解決:使用yum remove命令手動卸載原有rpm包,再次安裝便可

(2)yum install以後,啓動mysql服務失敗

  

  緣由及解決:5.7沒法讀取5.1的mysql.user表,解決方法使用--skip-grant-tables參數跳過受權驗證。(參考博客

  執行命令:mysqld_safe --skip-grant-tables&   

相關文章
相關標籤/搜索