前言
- 近期因为一些原因租了台阿里云服务器也就想来顺便练练手,没想到在配置远程MySQL时竟然折腾了半天,话说MySQL从5.7一下子跳到了8.0,改变真的是很大啊。记录下安装过程中遇到的问题。
- 参考资料
操作
- 安装
- 更新yum,确保服务器系统处于最新状态
yum -y update - 检查是否已经安装,如果已经安装就删除以前版本
- 下载安装MySQL
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
yum install -y mysql-server
- 更新yum,确保服务器系统处于最新状态
- 启动
- 开启服务
systemctl start mysqld.service - 检查是否已经安装了开机自动启动
systemctl list-unit-files | grep mysqld
如果显示以下内容说明已经完成自动启动安装
mysqld.service enabled - 设置开机启动
Mysqlsystemctl enable mysqld.service
- 开启服务
- 设置mysql密码
- 查看临时密码
grep 'temporary password' /var/log/mysqld.log - 使用临时密码登陆,更改密码
就是这里我踩坑了,MySQL以前版本的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”,所以修改密码语句也发生了变化。
USE mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;
- 查看临时密码
- 配置远程权限
- 设置阿里云安全组规则入方向,支持MySQL端口3306可访问
- MySQL在8.0.11之后移除了grant 添加用户的功能,也就是说不能通过 grant all …… 来添加一个 host 为 % 的root账号了,所以直接去表里更改
use mysql
select host,user,authentication_string,plugin from user;
update user set host = "%" where user='root';