前两天安装MySQL,用的是官方的yum源安装,安装好后发现 5.7版本内存占用还蛮高的,默认5.6版安装完成后启动占用内存大概400M+ ,5.7版本默认安装完成后内存占用竟然占到800M+  简直翻了一倍。


可能5.7上有很多新功能和新特性,但是现阶段我觉得我还远用不到,那么就降级安装5.6版本的吧。


由于系统上已经有了官方 yum源的配置,那么就通过yum来安装5.6版本的MySQL吧。

利用MySQL官方源安装5.6版程序,以及降级安装后无法启动的问题_降级

这是官方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 就开始重新初始化数据了。