centos7 安装 mysql 8.0

386 阅读2分钟

一、环境信息

  • centos7
  • 安装 mysql8

二、准备条件

  • 确保机器可以联网

  • 已经安装了 wget

  • 系统上没有之前的 mysql 版本

    可通过如下命令查询并删除:

    rpm -qa|grep mysql
    rpm -e mysql mysql-libs
    yum -y remove mysql-server mysql mysql-libs
    

三、开始安装

3.1 下载 mysql 官方的下载源

dev.mysql.com/downloads/r…

image-20210127113523942

可以直接下载后上传到服务器上,也可以使用 wget 命令下载,此处我下载的是 mysql8.0 的 rpm 包

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

3.2 安装下载源的 rpm 包

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

安装完成后,/etc/yum.repos.d/ 下会出现 mysql 相关的内容

image-20210127114122724

3.3 开始安装 mysql-server

3.3.1 查看 mysql 源

yum repolist all | grep mysql

image-20210127114343462

可以看到 mysql80-community 是启用状态即可

3.3.2 开始安装 mysql

该方法为固定命令,因为上面指定了 mysql 的版本,所以直接安装就行

yum install mysql-community-server

安装完成后,启动 mysql 服务:

systemctl start mysqld

image-20210127115501010

至此,mysql 安装完成

四、后续工作

4.1 设置 mysql 开机自启动

systemctl enable mysqld

4.2 设置密码

初次安装完成后,mysql 有一个默认密码

grep 'temporary password' /var/log/mysqld.log

初始的密码很复杂,如下:

image-20210127115924753

进入 mysql ,修改默认密码,输入如下命令:

mysql -uroot -p
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Pw1234,,';
flush privileges;
  • root 表示用户名,localhost 表示本机地址,新密码为 Pw1234,,

  • mysql8 的密码策略为:要求密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码长度至少8个字符。

4.3 开启 mysql 远程连接权限

Mysql 默认只能 localhost 连接,需要配置为允许远程访问,在机器上执行以下命令:

mysql -uroot -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

配置完成后,可以通过命令查看用户远程访问权限

select host, user, authentication_string, plugin from user;

image-20210127141430153

可以看到 root 用户的 host 权限为 %,此时就能远程连接 mysql 了

4.4 禁止 yum update 更新 mysql

yum update 命令能更新服务器上的所有安装包,但是我不希望随意 更新 mysql 服务,可以在 /etc/yum.conf 文件中,添加如下内容:

exclude=mysql-community-client,mysql-community-common,mysql-community-libs,mysql-community-server