跟随官网上的安装教程: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,就一切顺利了。

[Linux] 使用Yum在CentOS上安装MySQL的更多相关文章

  1. 在centos上安装mysql

    本文依然是用的xftp上传gz文件,然后在xShell上操作的,如果没有安装使用这两个文件的请查阅之前的博客. 1.将下载好的文件用xftp上传到对应的位置. 2.解压文件:tar  -zvxf  m ...

  2. Linux CentOS上安装 MySQL 8.0.16

    前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...

  3. Linux1 在Linux(CentOS)上安装MySql详细记录

    前记:  毕业两年了,前两天换了份工作,由以前的传统行业跳到了互联网行业.之前的公司一直在用WinServer2003+Tomcat+SqlServer/Oracle这套部署环境.对于Linux+To ...

  4. 使用yum方式在centOS上安装mysql

    1.操作系统及MySQL版本 1.1 操作系统版本 CentOS release 6.5 (Final) 1.2 MySQL版本 mysql-5.1.73-3.el6_5.x86_64mysql-li ...

  5. [从零开始搭网站七]CentOS上安装Mysql

    点击下面连接查看从零开始搭网站全系列 从零开始搭网站 通过前面6章,我们买好了服务器,配置了服务器连接,服务器上配置了JDK和Tomcat,准备了域名(这个我没教,自己去阿里/百度/腾讯买,买东西我相 ...

  6. 在CentOS上安装Mysql使用yum安装mysql

    https://jingyan.baidu.com/article/c74d600079be530f6a595dc3.html

  7. CentOS上安装MySQL

    1.准备RPM安装包 MySQL-server-5.6.33-1.linux_glibc2.5.x86_64 MySQL-client-5.6.33-1.linux_glibc2.5.x86_64 2 ...

  8. 【linux系列】Centos下安装mysql数据库

    前言 为了测试方便,通常我们会自己安装数据库,以下是在Centos上安装Mysql的操作. 一.检查自己是否安装了MySQL数据库 [root@s201 /home/mysql]#rpm -qa |g ...

  9. Centos7 上安装mysql遇上的问题:mysql无法正常启动

    第一次在Centos上安装mysql遇到的一些问题. 第一步就遇到问题,安装mysql-server报错没有可用包.  [解决方法] 先要安装mysql # wget http://repo.mysq ...

随机推荐

  1. Koa与Node.js开发实战(2)——使用Koa中间件获取响应时间(视频演示)

    学习架构: 在实战项目中,经常需要记录下服务器的响应时间,也就是从服务器接收到HTTP请求,到最终返回给客户端之间所耗时长.在Koa应用中,利用中间件机制可以很方便的实现这一功能.代码如下所示: 01 ...

  2. vue+element 正则表达式进行表单验证

    <template> <el-form :model="form" label-width="115px" ref="form&qu ...

  3. Swift PlayGround无限Running问题

    这个问题我想肯定很多人都有遇到过,如果你正好面试iOS,用这个playground写算法的话遇到这种情况只能hehe了-- 我是这样解决的,一开始我build project的时候选得是iOS的pla ...

  4. vue父子组件生命周期执行顺序

    之前写了vue的生命周期,本以为明白了vue实例在创建到显示在页面上以及销毁等一系列过程,以及各个生命周期的特点.然而今天被问到父子组件生命周期执行顺序的时候一头雾水,根本不知道怎么回事.然后写了一段 ...

  5. 简单的Web日志处理细节

  6. java控制多线程同时写一个文件

    最近出现一个需求,大体要做的就是控制多线程同时操作一个文件.当时第一个反应是不要用synchronized,太low了,然后我就使用了读写锁ReentrantReadWriteLock,然后写完静下来 ...

  7. DC综合简单总结(2)

    DC综合简单总结(2) 建立时间和保持时间和数据输出延时时间 一.概念 建立时间和保持时间都是针对触发器的特性说的. 建立时间(Tsu:set up time) 是指在触发器的时钟信号上升沿到来以前, ...

  8. python 数据分析工具之 numpy pandas matplotlib

    作为一个网络技术人员,机器学习是一种很有必要学习的技术,在这个数据爆炸的时代更是如此. python做数据分析,最常用以下几个库 numpy pandas matplotlib 一.Numpy库 为了 ...

  9. git知识总结-4.git服务器搭建及迁移git仓库

    1. 前言 因为手里有一份代码之前是直接从其它git服务器上克隆下来的,现在想自己搭建一个git服务器把这份代码管起来. 2. 搭建git服务器 1.安装git: $ sudo apt-get ins ...

  10. Andriod studio 目录结构

    新建一个项目后,大致有一下几个目录 1)gradle 目录 构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系. 2).idea 目录 AS生成的工程配置文件 ...