Access denied for user 'root'@'10.20.101.101' to database 'xxdb' errorCode 1044.
生产环境运行报错如上,是通过该ip无法访问数据库,没有权限。那如何通过特定ip来访问数据库,其他ip则限制访问数据库。
MySQL 地址:10.20.101.101:3306 含义:使用 root 账号,从 IP 10.20.101.131 访问数据库 xxdb,权限被拒绝。 ❗注意:不是密码错误!密码错是 1045;1044 是账号没有该数据库的访问权限。
关键点
root 账号允许从 10.20.101.131 登录 MySQL,但没有给 xxdb 库授权 druid 线程反复创建连接失败,服务数据库池初始化失败。
登录 MySQL 服务器执行授权(在 10.20.101.101 机器上 mysql 客户端执行)
-- 授予 root@应用服务器IP 对 xxdb 的全部权限
GRANT ALL PRIVILEGES ON xxdb.* TO 'root'@'10.20.101.131';
FLUSH PRIVILEGES;
如果想允许 root 从任意 IP 访问:
GRANT ALL PRIVILEGES ON ywmalldb.* TO 'root'@'%';
FLUSH PRIVILEGES;
查看当前 root 账号权限确认:
SHOW GRANTS FOR 'root'@'10.20.101.131';


暂无评论