一.修改root为允许远程连接
1.登录+选择
mysql -uroot -p
use mysql;
2.mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'newPassword';
3.设置该账户可以远程登陆
CREATE USER 'root'@'%' IDENTIFIED BY 'root'; //这个操作是mysql 8.0中得加的
4.任何远程主机都可以访问数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
5.刷新权限
FLUSH PRIVILEGES;
二.创建新用户
1. 新建用户
#CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
use mysql;
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin123';
//这一步提示密码过于简单,先执行一下两条命令,再次运行创建用户的命令就行 .
set global validate_password.policy=0;
set global validate_password.length=1;
2.mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'admin123';
3.执行
select host,user,plugin from user;
//查看新增用户的plugin是否是"mysql_native_password"
4.设置该账户可以远程登陆
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
5.刷新权限
flush privileges;
说明:注意自己的安全组或者 防火墙是否开启权限
firewall-cmd --zone=public --add-port=1991/tcp --permanent