
描述
最近在连接 mysql 8.0 数据库时,遇到如下的报错信息:
Access denied for user ‘root’@’localhost/IP'(using password:YES)
上方的 localhost/IP 表示实际报出的 IP 地址。
解决
Access denied 代表访问被拒绝(IP被限制),using password: YES 代表密码是正确的。
发生这个问题的原因是在 mysql 安装之后,出于安全性考虑数据库默认只能在本地访问,根据 mysql 版本,在 MySQL Command Line 工具下修改 IP 访问策略即可。
1、mysql 8.0 以前的版本
mysql - uroot - p --使用用户名密码登录 mysql USE mysql; --使用 mysql 数据库 GRANT ALL PRIVILEGES ON *.* TO root 114.114.114.114 IDENTIFIED BY "12345678" WITH GRANT OPTION; --假设你的用户名为 root ,密码是 12345678,那么以上语句允许 IP 为 114.114.114.114 的用户登录至数据库。 FLUSH PRIVILEGES; --使更改生效
2、mysql 8.0 及以后的版本
mysql - uroot - p --使用用户名密码登录 mysql USE mysql; --使用 mysql 数据库 update user set host='%' where user ='root'; --更新域属性,'%'表示允许所有外部 IP 访问数据库。 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; --授权语句,授权 root 用户使用任意 IP 访问数据库。 FLUSH PRIVILEGES; --使更改生效
本文由 .Net中文网 原创发布,欢迎大家踊跃转载。
转载请注明本文地址:https://www.byteflying.com/archives/3647。