如何限定只能从特定IP访问Mysql数据库

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';

评论 (0)

暂无评论