前两天安装MySQL,用的是官方的yum源安装,安装好后发现 5.7版本内存占用还蛮高的,默认5.6版安装完成后启动占用内存大概400M+ ,5.7版本默认安装完成后内存占用竟然占到800M+ 简直翻了一倍。
可能5.7上有很多新功能和新特性,但是现阶段我觉得我还远用不到,那么就降级安装5.6版本的吧。
由于系统上已经有了官方 yum源的配置,那么就通过yum来安装5.6版本的MySQL吧。
这是官方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 就开始重新初始化数据了。