zoukankan      html  css  js  c++  java
  • [Linux] 使用Yum在CentOS上安装MySQL

    跟随官网上的安装教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
    官网上还有一个QuickGuide版本: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

    过程有一点不同。跟随任意一个教程都OK。
    这里针对第一次安装。如果是以前安装的有残留,应该会有一些麻烦。

    MySQL的适用版本没有单独列出CentOS。因为CentOS也使用的Yum Repository,因此我们跟随同样使用Yum的Red Hat Linux教程进行安装。

    1. 添加MySQL Yum Repositroy

    首先我们将MySQL的Yum源添加到系统Repository表中。按以下步骤:

    a. 到以下地址下载MySQL Yum Repository: https://dev.mysql.com/downloads/repo/yum/

    注意没有单独列出CentOS,我们选择Red Hat版本. CentOS6选择6版本, CentOS7选择7版本。(查看系统版本命令:head -n 1 /etc/issue)。

    页面的download按钮并不是直接指向下载位置,需要通过浏览器下载。

    可以将本地下载的文件发送到服务器,或者查看浏览器下载文件的源地址,在服务器上通过wget 源地址来下载文件。

    注意到下载包前缀可能是mysql80, 不是我要的mysql版本? 这不是问题,先下载。

    b. 通过以下命令安装对应版本的repository

          sudo yum localinstall platform-and-version-specific-package-name.rpm

    通过以下命令检查是否已成功安装repository。

      yum repolist enabled | grep "mysql.*-community.*"
    会看到相应的mysql包.

    2. 选择需要的MySQL发行版本

    repository下载安装后,默认用户要安装的是最新版本(比如我看到的是mysql80)。如果想要安装老版本的MySQL,需要修改源。

    查看可用的mysql的全部版本:
      yum repolist all | grep mysql
    通过yum-config-manager启用对应版本的mysql。如我要用57版本:
      yum-config-manager --disable mysql80-community
      yum-config-manager --enable mysql57-community
    检查是否启用了正确的版本:
      yum repolist enabled | grep mysql

    3. 安装MySQL

        yum install mysql-community-server
      命令会自动安装需要的依赖包

    4. 启动MySQL服务器

      service mysqld start
    没什么问题的话会看到start OK的提示。
    也可以查看服务状态:
      service mysqld status
    57之后好像默认启用root密码。查看系统随机生成的密码:
      grep 'temporary password' /var/log/mysqld.log

    登陆MySQL,修改root密码:
      mysql -uroot -p
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    现在的密码策略强制要求至少一个大写字母,一个小写字母,一个数字,一个特别字符(标点),总长度不少于8个字符,否则应该会报错。

    配置文件路径:/etc/my.cnf

    配置文件中的配置项:

    datadir = /var/lib/mysql

    socket = /var/lib/mysql/mysql.sock
    log-error = /var/log/mysqld.log
    pid-file = /var/run/mysqld/mysqld.pid


    另外针对EL7系统的用户,MySQL和以下包有冲突,不能同时安装
      ○ akonadi-mysql

    [BUG]

    以上就是完整的安装教程。下面讲一下个人碰到的问题及解决办法。

    Error: Package: mysql-community-client-5.7.17-1.el7.i686 (mysql57-community)
    Requires: libstdc++.so.6(GLIBCXX_3.4.15)
    Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
    Requires: systemd
    Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
    Requires: libstdc++.so.6(GLIBCXX_3.4.15)
    Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
    Requires: libc.so.6(GLIBC_2.17)

    这是第一步中选择的repository版本有误导致的。我是CentOS6.8的系统,却下载了EL7的源,因此报错。
    解决方法是先清理之前的源,然后重新安装EL6的源。(反之亦然)

      yum remove mysql80-community-release-el7-2.noarch
      yum clean all
      yum localinstall mysql80-community-release-el6-2.noarch.rpm

    然后按上面的步骤进行安装, 应该是顺利的。如果碰到其他问题,请根据情况自行解决。
    我在解决这个问题的过程中,好像因为没有执行yum clean all命令,导致重新安装了el6的源后依然报错。
    查阅/etc/yum.repos.d下的mysql-community.repo文件,发现源路径已经全部变成el6,然而错误信息中依然提示xxx.el7.xxx的包缺少xxx。查阅了网上的资料,执行了yum clean all后再安装mysql-community-server,就一切顺利了。

  • 相关阅读:
    1001. 害死人不偿命的(3n+1)猜想 (15)
    单链表排序
    简单插入排序
    简单选择排序
    C语言-随机数
    二分查找(折半查找)
    顺序查找-顺序查找-带哨兵查找
    队列-链表实现
    循环队列_数组实现
    队列-顺序存储-简单实现
  • 原文地址:https://www.cnblogs.com/oDoraemon/p/10419179.html
Copyright © 2011-2022 走看看