一、环境信息
- centos7
- 安装 mysql8
二、准备条件
-
确保机器可以联网
-
已经安装了 wget
-
系统上没有之前的 mysql 版本
可通过如下命令查询并删除:
rpm -qa|grep mysql rpm -e mysql mysql-libs yum -y remove mysql-server mysql mysql-libs
三、开始安装
3.1 下载 mysql 官方的下载源
可以直接下载后上传到服务器上,也可以使用 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 相关的内容
3.3 开始安装 mysql-server
3.3.1 查看 mysql 源
yum repolist all | grep mysql
可以看到 mysql80-community 是启用状态即可
3.3.2 开始安装 mysql
该方法为固定命令,因为上面指定了 mysql 的版本,所以直接安装就行
yum install mysql-community-server
安装完成后,启动 mysql 服务:
systemctl start mysqld
至此,mysql 安装完成
四、后续工作
4.1 设置 mysql 开机自启动
systemctl enable mysqld
4.2 设置密码
初次安装完成后,mysql 有一个默认密码
grep 'temporary password' /var/log/mysqld.log
初始的密码很复杂,如下:
进入 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;
可以看到 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