Navicat 连接MySQL 8.0.11 出现2059错误
解决MySQL 1130 错误,无法远程连接
错误如下
原因:mysql服务器 root 默认只允许 localhost 也就是 127.0.0.1 连接
解决
修改 root 用户的任何ip都可以链接,就好了
1. 使用 mysql 这个库
use mysql;
2.允许任何ip链接
update user set host = '%' where user ='root';
3. 刷新权限
flush privileges;
4. 如果还不行,重启mysql服务就好了
使用Navicat Premium 连接MySQL时出现如下错误:
原因
mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决
更改加密规则:
mysql -uroot -ppassword #登录 use mysql; #选择数据库 ALTER USER 'root'@'localhost' IDENTIFIED BY 'sa' PASSWORD EXPIRE NEVER; #更改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sa'; #更新用户密码 FLUSH PRIVILEGES; #刷新权限
输入password
可能出现执行上述修改加密方式报错:
密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如下图:
解决办法:
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate.password%'; ” 进行查看,
如下图:
2、首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password.policy=LOW; ” 进行设值,
如下图:
3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate.password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate.password_length=6; ” 进行设值,
如下图:
4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了!!!
如下图: