CentOS 7安装MySQL 8

本文详细介绍了在CentOS7上安装MySQL8.0的步骤,包括设置安装源、安装服务、启动服务、获取并修改root用户的临时密码、调整密码策略、开启远程访问权限以及解决连接问题。此外,还涉及到防火墙端口开放和加密方式的修改,确保远程客户端可以顺利连接。
摘要由CSDN通过智能技术生成

CentOS 7安装MySQL 8

1.配置MySQL 8.0的安装源:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

在这里插入图片描述

2.安装MySQL 8.0

sudo yum --enablerepo=mysql80-community install mysql-community-server

在这里插入图片描述

2.1接下来选择 y

在这里插入图片描述

2.2下载完继续 y

在这里插入图片描述

3.启动MySQL服务

启动命令:sudo service mysqld start

在这里插入图片描述

3.1ps:如果不确定是否启动了服务就运行如下命令

service mysqld status

在这里插入图片描述

4.查看MySQL的root临时密码

安装完MySQL之后,都会生成一个临时的密码让root用户登录,那么应该怎么获取临时密码呢?

运行如下命令:

grep "A temporary password" /var/log/mysqld.log

在这里插入图片描述

5.把临时密码修改为一个自己能记得住的密码

5.1先用临时的密码登录MySQL

运行命令:

mysql -uroot -p

在这里插入图片描述
登录成功后
在这里插入图片描述

5.2登录成成功后运行如下命令修改密码

修改密码命令:(一定会失败,看下一步5.3)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

ps:注意语句结尾必须以分号结束
在这里插入图片描述

5.3如果出现这种情况,那么就是你的密码复杂度不符合MySQL所要求的

解决这种情况有两种方式:
  ①把密码改复杂点,让它符合密码验证策略,这个当然是最好的,符合国际惯例;
  ②把密码验证策略改简单点,让它适用简单的密码,这个符合懒人的做法。

查看密码验证策略方法,运行如下命令:(前提是重置密码之前是不让看的)

SHOW VARIABLES LIKE 'validate_password.%';

在这里插入图片描述

官方文档提供的文档
validate_password.length 是密码的最小长度,默认是8
validate_password.policy 验证密码的复杂程度
validate_password.check_user_name 用户名检查,用户名和密码不能相同

5.3.1密码长度修改为4:
 set global validate_password.length=4;

在这里插入图片描述

5.3.2密码复杂度修改为0:
set global validate_password.policy=0;

在这里插入图片描述

5.3去掉不允许用户名和密码相同的要求:
set global validate_password.check_user_name=off;

在这里插入图片描述

5.4然后运行修改密码的命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

在这里插入图片描述

6.配置远程访问

6.1发现客户端无法连接MySQL,那时因为我们没有开通远程访问权限

在这里插入图片描述

6.2开启远程访问权限步骤:

1.use mysql;
在这里插入图片描述

2.select host, user, authentication_string, plugin from user;
在这里插入图片描述

3.如上图,发现root的host是localhost,不是%, 那我们就加个host是%的root账号。命令:

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

在这里插入图片描述

4.再重新查一下用户。命令:

select host, user, authentication_string, plugin from user;

在这里插入图片描述
5.上面步骤成功后运行如下代码:

GRANT ALL ON *.* TO 'root'@'%';

6.这样就成功了。用navicat连接mysql还是会报错:
在这里插入图片描述

7.原因是mysql8的加密方式规则不一样,是caching_sha2_password
在这里插入图片描述

8.把加密方式改成mysql_native_password就行了:

//模板
ALTER USER '[用户名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密码]';
//执行模板
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

在这里插入图片描述

9.加密方式已经修改完成 mysql_native_password:
在这里插入图片描述
在这里插入图片描述

7.如果还不成功,可能Linux没有开放3306端口

操作步骤:
1、登陆到linux系统
2、输入防火墙开放端口命令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

3、刷新防火墙:

firewall-cmd --reload

注意:–add-port=后面接需要开放的端口
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值