这篇文章主要通过使用 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 源配置如下图
2、修改 Yum 源配置文件为自己需要安装的版本
因为这里下载的已经到 MySQL 8 版本的配置,所以如果不修改继续安装,默认会安装MySQL 8,可以用下面命令查看当前将会安装的版本
yum repolist all | grep mysql
结果如下,可以看到 enabled 标记的就是将要安装的包
或者通过下面命令查看,可以更清楚地看到将要安装的包
yum repolist enabled | grep "mysql.*-community.*"
如果想安装 MySQL 7,可以通过下面命令修改 MySQL Yum 源配置文件,执行完后,可以用上面命令看看结果
yum-config-manager --disable mysql80-communityyum-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 Serverbaseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6[mysql56-community]name=MySQL 5.6 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.7[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/enabled=0gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql[mysql80-community]name=MySQL 8.0 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/enabled=1gpgcheck=1gpgkey=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
执行上面命令,会自动下载 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 secure_file_priv 系统变量默认值 /var/lib/mysql-files,安全使用 LOAD DATA、SELECT … INTO OUTFILe 等导入导出数据函数需要用到这个 日志文件 /var/log/mysqld.log 客户端执行程序和脚本 /usr/bin,比如 mysql、mysqldump 等等 服务端执行程序 /usr/sbin,比如 mysqld 等等 系统启动配置文件 /usr/lib/systemd/system/mysqld.service5、启动 MySQL
到这步说明安装过程基本完成,这里就按默认的配置文件/etc/my.cnf不作修改,因为添加了系统启动配置文件,所以直接执行下面命令,启动 MySQL 很方便
systemctl start mysqld.service
如果一切顺利的话,MySQL 启动成功,会生成一个默认的 root@localhost 密码,并在日志文件中显示,用下面命令可以查看
cat /var/log/mysqld.log | grep "temporary password"
查到 root@localhost 临时密码后,可以用下面命令登录,因为自动生成的临时密码比较复杂,所以用单引号区分,也可以不加。另外,因为安装完后,把 MySQL 客户端执行程序加到了 /usr/bin 目录下,所以这里可以直接使用 mysql 来登录,而不用再配置环境变量,这也是这种安装方式的方便之处
mysql -uroot -p\\\'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.rpmyum-config-manager --disable mysql80-communityyum-config-manager --enable mysql57-communityyum install mysql-community-serversystemctl 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 就不行了