评论

收藏

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

数据库 数据库 发布于:2021-07-03 21:41 | 阅读数:507 | 评论:0

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

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

  由于系统上已经有了官方 yum源的配置,那么就通过yum来安装5.6版本的MySQL吧。
DSC0000.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 就开始重新初始化数据了。

  
关注下面的标签,发现更多相似文章