使用IP时,MySQL用户权限无效

Jus*_*lly 4 mysql ubuntu

我有当前的设置:

SVR01:Ubuntu Trusty,与Xen

VM01:IP:192.168.0.10 Ubuntu Trusty,带有Apache2 + php模块

VM02:IP:192.168.0.11 Ubuntu Trusty,带有mysql服务器

当我尝试从VM01(apache服务器)连接到VM02上的mysql时,我得到"拒绝访问'NewUser'@'192.168.0.10'(使用密码:是)"错误.

我创建了用户:

CREATE USER 'NewUser'@'192.168.0.10' IDENTIFIED BY 'password';
GRANT EXECUTE ON mydb.* TO 'NewUSer'@'192.168.0.10';
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用主机通配符创建用户,它将起作用:

CREATE USER 'NewUser'@'%' IDENTIFIED BY 'password';
GRANT EXECUTE ON mydb.* TO 'NewUSer'@'%';
Run Code Online (Sandbox Code Playgroud)

当我指定主机IP时,有谁知道为什么它不起作用?

PS.尝试通过Mysql客户端或通过PHP PDO连接时,我收到错误.

atx*_*dba 5

跟进问题:

  • 如果您创建具有192.168.0.%通配符主机掩码的用户,那么授权是否有效?
  • 从mysql.user运行select user,host,password,其中user ='NewUser',以确保没有其他用户@主机你不知道可能会被拿起来?
  • 拒绝错误日志中的Access拒绝消息是否确认失败的连接尝试实际上来自您认为的IP?如果您在具有多个网络接口的系统中设置了多个路由,或者可能在混合中使用某些VPN路由,则可能会出现类似这样的奇怪现象.
  • 尝试连接到VM02时,您使用的是文字IP地址还是主机名?如果后者确定这是解析为您认为是来自VM01的IP(您可以使用ping或命令行中的主机命令进行验证)
  • 运行"show variables like'init_connect';" 在您创建用户的root帐户上.如果该值不为空,您将需要确保执行该值所包含的任何权限所需的权限帐户.