利用MySQL官方源安裝5.6版程式,以及降級安裝後無法啟動的問題

lcc發表於2021-09-09


前兩天安裝MySQL,用的是官方的yum源安裝,安裝好後發現 5.7版本記憶體佔用還蠻高的,預設5.6版安裝完成後啟動佔用記憶體大概400M+ ,5.7版本預設安裝完成後記憶體佔用竟然佔到800M+  簡直翻了一倍。

可能5.7上有很多新功能和新特性,但是現階段我覺得我還遠用不到,那麼就降級安裝5.6版本的吧。

由於系統上已經有了官方 yum源的配置,那麼就透過yum來安裝5.6版本的MySQL吧。

wKiom1dJagSCVZ67AACb4Z700iU140.png

這是官方mysql源的配置資訊,可見已經有了5.5/5.6/5.7版本的源。

因為預設使用yum安裝mysql會選取最新版本的版本,那麼如果想要安裝低版本的就必須安裝的時候加一些引數。

 yum --disablerepo='mysql57-community' --enablerepo='mysql56-community*'  install mysql-community-server.x86_64

語法是這樣的,遮蔽掉5.7版本的源,然後安裝軟體包。

檢視5.6倉庫已有的最新的包。

[root@ns2 ~]#  yum --disablerepo='*' --enablerepo='mysql56-community*'  list available

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

Available Packages

mysql-community-bench.x86_64                                        5.6.30-2.el6                               mysql56-community

mysql-community-client.i686                                         5.6.30-2.el6                               mysql56-community

mysql-community-common.i686                                         5.6.30-2.el6                               mysql56-community

mysql-community-devel.i686                                          5.6.30-2.el6                               mysql56-community

mysql-community-devel.x86_64                                        5.6.30-2.el6                               mysql56-community

mysql-community-embedded.i686                                       5.6.30-2.el6                               mysql56-community

mysql-community-embedded.x86_64                                     5.6.30-2.el6                               mysql56-community

mysql-community-embedded-devel.i686                                 5.6.30-2.el6                               mysql56-community

mysql-community-embedded-devel.x86_64                               5.6.30-2.el6                               mysql56-community

mysql-community-libs.i686                                           5.6.30-2.el6                               mysql56-community

mysql-community-libs-compat.i686                                    5.6.30-2.el6                               mysql56-community

mysql-community-libs-compat.x86_64                                  5.6.30-2.el6                               mysql56-community

mysql-community-release.noarch                                      el6-5                                      mysql56-community

mysql-community-test.x86_64                                         5.6.30-2.el6                               mysql56-communit

--------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------

由於我是降級yum安裝,所以兩個mysql版本的配置路徑基本都一樣,那麼就會存在一些問題,比如從5.7 降級安裝到 5.6後,服務無法啟動,報錯。

InnoDB: No valid checkpoint found.

InnoDB: If you are attempting downgrade from MySQL 5.7.9 or later

........

2016-05-28 12:18:15 8074 [ERROR] Plugin 'InnoDB' init function returned error.

2016-05-28 12:18:15 8074 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

........

InnoDB: http://dev.mysql.com/doc/refman/5.6/en/error-creating-innodb.html

2016-05-28 12:18:15 8074 [ERROR] Plugin 'InnoDB' init function returned error.

原因是新版mysql的原有資料沒有清除,導致5.6版本沒有初始化直接啟動,而載入了錯誤的資料。

檢視 /etc/my.cnf 找到 datadir=/var/lib/mysql

到/var/lib/mysql 目錄中刪除ib開頭的檔案(我記得好像是三個),然後刪除該目錄下的mysql目錄(其實就是mysql庫檔案的目錄)當然如果你有資料備份,最好還是把該目錄下所有檔案都清除了。

然後 service mysqld start 就開始重新初始化資料了。

©著作權歸作者所有:來自51CTO部落格作者Professor哥的原創作品,如需轉載,請註明出處,否則將追究法律責任


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2820481/,如需轉載,請註明出處,否則將追究法律責任。

相關文章