CentOS 7安装MySQL 8——萌新超详细教程

 
 
 
1.配置MySQL 8.0的安装源:
 
 
 
 
2.安装MySQL 8.0
 
sudo yum --enablerepo=mysql80-community install mysql-community-server
 
 
 
接下来选择 y
 
 
 
下载完继续 y
 
 
 
3.启动MySQL服务
 
启动命令:sudo service mysqld start
 
 
ps:如果不确定是否启动了服务就运行如下命令
 
service mysqld status
 
 
 
4.查看MySQL的root临时密码
 
安装完MySQL之后,都会生成一个临时的密码让root用户登录,那么应该怎么获取临时密码呢?
 
运行如下命令: grep "A temporary password" /var/log/mysqld.log
 
 
 
5.把临时密码修改为一个自己能记得住的密码
 
1).先用临时的密码登录MySQL
运行命令: mysql -uroot -p
 
 
登录成功后
 
 
2).登录成成功后运行如下命令修改密码
 
修改密码命令:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
ps:注意语句结尾必须以分号结束
 
 
如果出现这种情况,那么就是你的密码复杂度不符合MySQL所要求的
 
解决这种情况有两种方式:
①把密码改复杂点,让它符合密码验证策略,这个当然是最好的,符合国际惯例;
②把密码验证策略改简单点,让它适用简单的密码,这个符合懒人的做法。
 
查看密码验证策略方法,运行如下命令:(前提是重置密码之前是不让看的)
SHOW VARIABLES LIKE 'validate_password.%';
 
 
官方文档提供的文档
validate_password.length 是密码的最小长度,默认是8
validate_password.policy 验证密码的复杂程度
validate_password.check_user_name 用户名检查,用户名和密码不能相同
 
 
密码长度修改为4: set global validate_password.length=4;
 
 
密码复杂度修改为0: set global validate_password.policy=0;
 
 
去掉不允许用户名和密码相同的要求: set global validate_password.check_user_name=off;
 
 
然后运行修改密码的命令: ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
 
 
6.配置远程访问
 
发现客户端无法连接MySQL,那时因为我们没有开通远程访问权限
 
 
开启远程访问权限步骤:
 
1).  use mysql;
 
 
 
2).   select host, user, authentication_string, plugin from user;
 
 
 
如上图,发现root的host是localhost,不是%, 那我们就加个host是%的root账号:
 
命令: CREATE USER 'root'@'%' IDENTIFIED BY 'root';
 
再重新查一下用户
命令: select host, user, authentication_string, plugin from user;
 
 
 
上面步骤成功后运行如下代码: GRANT ALL ON *.* TO 'root'@'%';
 
 
这样就成功了
 
用navicat连接mysql还是会报错:
 
 
 
原因是mysql8的加密方式规则不一样,是caching_sha2_password
 
 
把加密方式改成mysql_native_password就行了:
ALTER USER '[用户名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密码]';
 
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
 
加密方式已经修改完成 mysql_native_password:
 
 
 
 
如果还不成功,可能Linux没有开放3306端口
 
操作步骤:
1、登陆到linux系统
2、输入防火墙开放端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、刷新防火墙:firewall-cmd --reload
* 注意:--add-port=后面接需要开放的端口
 
 
 
 
 
 
 
 
 
posted @ 2019-12-24 16:34  知了布呐呐  阅读(5023)  评论(3编辑  收藏  举报