在CentOS7使用Yum安装MySQL和MariaBD

如何在 CentOS7 上使用 yum 快速安装 MySQL 和 MariaDB 数据库。

在CentOS7使用Yum安装MySQL和MariaBD

背景

由于之前一直没有在国内找到合适的 MySQL 和 MariaDB 镜像源,安装这两款数据库时我都是先从国内的 ftp 镜像下载好 RPM 文件,然后手动安装,但这样操作步骤比较复杂,很不方便。因此今天又借着需要安装 MySQL 的机会,重新找了一些资料,发现可以用 Yum 方式从中国科技大学实现快速安装。

使用 Yum 安装 MySQL

MySQL 官方镜像地址:https://repo.mysql.com ,资源完整但是国内使用很慢,甚至打不开这个链接。

中科大提供了 MySQL 的 repo 镜像: https://mirrors.ustc.edu.cn/mysql-repo

一定要细心的看到最顶上的 apt 和 yum 两个目录。

  • 安装 repo 文件并导入 GPG-KEY
yum -y install https://mirrors.ustc.edu.cn/mysql-repo/mysql-community-release-el7.rpm

# 删除 SRPMS repo, 提高 yum 速度
rm -f /etc/yum.repos.d/mysql-community-source.repo
  • 替换 baseurl 镜像地址
sed -e 's!http://repo.mysql.com!https://mirrors.ustc.edu.cn/mysql-repo!g' \
    -i /etc/yum.repos.d/mysql-community.repo
  • 修改 repo 中启用的版本

使用上面 yum 方式安装的 repo, 默认启用的是 MySQL8.0,我这里要安装的是 MySQL5.7,则禁用 8.0 并启用 5.7,按照下面的方式修改即可(使用 sed 可在无需人为打开文件的情况下完成修改)。

# sed 插着匹配的行,并修改下一行的值
sed -e '/mysql-8.0-community/!b;n;cenabled=0' \
    -i /etc/yum.repos.d/mysql-community.repo

sed -e '/mysql-5.7-community/!b;n;cenabled=1' \
    -i /etc/yum.repos.d/mysql-community.repo
  • 使用 Yum 安装 MySQL
yum -y remove mariadb*
yum -y install numactl
yum -y install mysql-community-server
  • 配置并初始化 MySQL
sed -i '/\[mysqld\]/a\performance_schema = ON' /etc/my.cnf
sed -i '/\[mysqld\]/a\user=mysql' /etc/my.cnf
sed -i '/mysql.sock/a\character_set_server = utf8' /etc/my.cnf

systemctl enable mysqld; systemctl start mysqld

#修改密码强度策略(一定要在上面那步初始化启动完成之后再修改)
sed -i '/mysql.sock/a\validate_password_policy = 0' /etc/my.cnf
systemctl restart mysqld

grep "temporary password" /var/log/mysqld.log | awk -F"localhost: " '{print $2}'
mysql_secure_installation
mysql -uroot -p

使用 Yum 安装 MariaDB

MariaDB 在中科大有镜像源,但让人心塞的是它没有提供镜像目录的入口,不过帮助文档中有写,下载官方的使用官方工具生成的 repo 文件,替换成中科大的地址即可。

中科大 MariaDB 镜像目录:https://mirrors.ustc.edu.cn/mariadb/yum

目前的 Stable 版是 10.3 ,生成 repo 文件如下:

cat > /etc/yum.repos.d/MariaDB.repo << EOF
# MariaDB 10.3 CentOS repository list - created 2019-03-15 13:58 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
  • 替换 baseurl 地址为成中国科技大学镜像地址:
sed -e 's!http://yum.mariadb.org!https://mirrors.ustc.edu.cn/mariadb/yum!g' \
    -i /etc/yum.repos.d/MariaDB.repo
  • 使用 yum 安装
# 移除旧版MariaDB
yum -y remove mariadb*

# 安装最新版
yum -y install mariadb