MySQL8.0设置远程访问权限(解决Navicat无法远程连接)

MySQL8.0设置远程访问权限(解决Navicat无法远程连接)

如果是Windows系统的Mysql允许局域网其他用户访问,请先配置文末的设置
1、连接Mysql(root):mysql -u root -p
2、输入密码:******
3、创建访客用户(需设置复杂密码 , 不建议使用简单密码):CREATE USER ‘guest’@’%’ IDENTIFIED BY ‘Gusest123456.!’;
4、设置密码永不过期:ALTER USER ‘guest’@’%’ IDENTIFIED BY ‘Gusest123456.!’ PASSWORD EXPIRE NEVER;
5、修改加密规则:ALTER USER ‘guest’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Gusest123456.!’;
6、授权访问某个数据库(指定 test 数据库):GRANT ALL PRIVILEGES ON test.* TO ‘guest’@’%’ WITH GRANT OPTION;
7、刷新权限:FLUSH PRIVILEGES;
8、撤销权限(root):REVOKE PRIVILEGES ON test.* FROM ‘guest’@’%’;
9、刷新权限:FLUSH PRIVILEGES;
10、删除用户(root):DROP USER ‘guest’@’%’;

如果是Windows系统的Mysql允许局域网其他用户访问,请先配置以下设置;

控制面板—>系统和安全—>Windows Defender 防火墙(win7/8/10可能不太一样)
—>高级设置—>入站规则(左侧面板)—>新建规则(右侧面板)
—>规则类型:选择端口 下一步
—>协议和端口:TCP/特定本地端口(输入:3306) 下一步
—>操作:允许连接 下一步—>配置文件:勾选 域、专用 下一步
—>名称:名称和描述(描述可不写)
—>完成

附:修改密码的加密规则,设置简单密码(不推荐)

注:此方法是在在网上找到的,仅供参考

地址:https://www.cnblogs.com/zgxblog/p/10708182.html

(3.1)赋予 root 用户,远程连接权限( 注意语句以 ; 结尾 )

说明:如果只在本机使用 MySQL ,此步骤( 3.1 )可省略,但是 ( 3.2 )( 3.3 )中的 ‘root’@’%’ 要改成 ‘root’@‘localhost’

use mysql;
update user set host='%' where user='root';

(3.2)Mysql 5.7 等版本

#调整密码验证规则:        
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

#重新设置密码:
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456';

(3.3)Mysql 8.0 等版本

#先修改一个满足的密码 (如:Admin123.!)(如果本来就是复杂密码不用设置)
ALTER USER 'root'@'%' IDENTIFIED BY 'Admin123.!';
#密码修改后,可用命令查看 validate_password 密码验证插件是否安装。
mysql> SHOW VARIABLES LIKE 'validate_password%';

#修改MySQL 8.0 调整密码验证规则:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;


#重新设置密码: 
ALTER USER 'root'@'%' IDENTIFIED BY '123456';

你可能感兴趣的:(软件使用设置)