这篇文章主要通过使用 MySQL Yum 存储库的方式在 CentOS 7 系统上安装 MySQL 5.7,记录了完整的安装过程和遇到的一些细节,在知道如何安装的同时,还能知道为什么要这样安装,希望看完这篇文章,可以对大家在安装 MySQL 的过程中带来一些帮助,下面开始。

一、安装环境

安装环境如下:
服务器:CentOS 7
安装版本:MySQL 5.7(最新版)

二、安装过程和细节

1、在官网下载 MySQL Yum 源安装文件

用 MySQL Yum 存储库安装的方式,其实就是通过 Linux 系统的 Yum 源安装的方式,主要的 Yum 源配置文件存放在/etc/yum.repos.d目录下,所以要想通过这种方式安装 MySQL,我们必须添加 MySQL Yum 源配置。

官网下载地址如下,目前最新是 mysql80-community-release-el7-3.noarch.rpm,下载这个即可,然后上传到服务器上

https://dev.mysql.com/downloads/repo/yum

下载完后,执行下面命令,就可以在服务器上添加 MySQL Yum 源配置

yum localinstall mysql80-community-release-el7-3.noarch.rpm

执行完后,会在/etc/yum.repos.d目录下添加 MySQL Yum 源配置如下图

centos7 安装xterm命令 centos7yum安装_MySQL

2、修改 Yum 源配置文件为自己需要安装的版本

因为这里下载的已经到 MySQL 8 版本的配置,所以如果不修改继续安装,默认会安装MySQL 8,可以用下面命令查看当前将会安装的版本

yum repolist all | grep mysql

结果如下,可以看到 enabled 标记的就是将要安装的包

centos7 安装xterm命令 centos7yum安装_centos7 安装xterm命令_02


或者通过下面命令查看,可以更清楚的看到将要安装的包

yum repolist enabled | grep "mysql.*-community.*"

centos7 安装xterm命令 centos7yum安装_数据库_03


如果想安装 MySQL 7,可以通过下面命令修改 MySQL Yum 源配置文件,执行完后,可以用上面命令看看结果

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

或者可以直接修改 MySQL Yum 源配置文件,其实上面用yum-config-manager命令本质就是修改源配置文件。我们打开配置文件,结果如下,我们把要安装版本的对应配置的改为 enabled=1 即可,不用安装的改为 enabled=0,另外可以看到里面 baseurl配置就是 MySQL Yum 存储库的链接,后续安装就会从这里下载必要的安装包。

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

### 后续还有配置 ###

3、删除本地默认安装的 MySQL

MySQL 除了自己的发行版本外,还有其他的第三方分支版本,比如 MariaDB,一般 CentOS 系统服务器上会默认安装这个版本的数据库,如果存在,需要先删掉,先用下面命令查看

rpm -qa | grep mariadb

如果发现存在,用下面命令删除

rpm -e --nodeps mariadb-XXX  -- 其中 XXX 表示不同版本

4、安装 MySQL

设置好 MySQL Yum 源配置和处理好默认安装的数据库后,就可以开始安装 MySQL 了,直接使用下面命令安装

yum install mysql-community-server

结果如下,默认会安装对应版本的最新版,这里安装的是 MySQL 5.7.34

centos7 安装xterm命令 centos7yum安装_数据库_04


执行上面命令,会自动下载 MySQL Yum 存储库的安装文件,默认会下载最新版本,从上面结果可以看到,主要会安装下面 4 个安装包,这也是安装一个 MySQL 必须的安装包,也不用关注各个安装包之间的依赖关系,会自己解决依赖

  • mysql-community-server
  • mysql-community-client
  • mysql-community-common
  • mysql-community-libs

安装成功后,服务器上就会有 MySQL 相关的各种文件,主要有下面这些

名称

位置

用户和用户组

增加一个 mysql 非登录用户和用户组,后续相关文件目录权限都会是 mysql,并且启动会以 mysql 用户启动

配置文件

/etc/my.cnf

数据文件目录

/var/lib/mysql

日志文件

/var/log/mysqld.log

执行文件

/usr/bin、/usr/sbin 下面会有 MySQL 的一些执行文件,比如 mysqld

系统启动配置文件

/usr/lib/systemd/system/mysqld.service

5、启动 MySQL

到这步说明安装过程基本完成,这里就按默认的配置文件/etc/my.cnf不作修改,因为添加了系统启动配置文件,所以直接执行下面命令,启动 MySQL 很方便

systemctl start mysqld.service

如果一切顺利的话,MySQL 启动成功,会生成一个默认的 root@localhost 密码,并在日志文件中显示,用下面命令可以查看

cat /var/log/mysqld.log | grep "temporary password"

登录后,一般会要求先修改默认密码,用下面命令修改密码后,就可以正常使用了

ALTER USER 'root'@'localhost' IDENTIFIED BY '重置的密码';

到这里,通过 MySQL Yum 存储库方式安装 MySQL 5.7 已经完成,这里是以安装 MySQL 5.7 为例,如果要安装其他版本,比如 MySQL 5.6,按这个步骤基本一样。

6、总结所有安装命令

上面是具体的安装步骤,看着很多内容,其实总结下,就是下面几个命令,是不是非常方便

yum localinstall mysql80-community-release-el7-3.noarch.rpm
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server
systemctl start mysqld.service

7、删除 MySQL

安装完 MySQL 后,不需要了怎么删呢,可以用下面命令删除

yum remove mysql

不过这个命令删除后并不会完全删除 MySQL 相关的文件,剩下的可以参考上面列出的相关文件,自己手动删除。同时可以用下面命令查看还有哪些残留的 Mysql 包,用rpm -e --nodeps删除对应安装包

rpm -qa | grep mysql

三、使用 Yum 存储库安装方式的优缺点

从上面的安装过程可以看出,通过 MySQL Yum 存储库方式安装 MySQL有优点也有缺点。

  • 优点:方便,只用少许命令就可以安装完成
  • 缺点:需要联网安装,因为要下载安装包;只能安装对应版本的最新版,比如我上面安装的就是 MySQL 5.7.34,那如果我想安装 MySQL 5.7.28 就不行了