有时候,我们会遇到这种情况。A服务器下的php环境去请求B服务器下的mysql。默认状态下,mysql是禁止连接的。这个时候,就得想办法打破这个禁止。网上查了下,通常有两个办法。

1,修改user表中的host,将host的localhost字段改为%。

2,指定特定数据库,特定ip,特定的用户名,特定的密码远程访问。

这两种方法,我都尝试过了。当使用第一种方法后,发现是可以远程连接mysql了。可是,phpmyadmin和linux命令都登录不上mysql了。因为对mysql的不了解。也没找到好办法。最后,不得不通过命令绕过密码,修改user表,将host字段的值又改回localhost了。于是,去尝试第二种方法。当跑完第二种方法后。也是可以远程连接mysql了。功能已经实现。然后再去查看user表,发现在user表中,增加了一条第二种方法中创建的时,所填充的数据。这个时候猜想,是不是可以手动在表中创建一条记录也可以呢。不需要在liunx下敲一条条的命令来创建。

不过,当熟悉了linux的命令,敲着敲着也蛮好的。下边来实际操作一遍上边的两种方法吧。

1,修改user表中的host字段方法。打开xshell5,连接服务器。敲命令。连mysql,输入密码,查看user表,修改user表,flush,重启。
请参考这篇文章:https://help.aliyun.com/knowledge_detail/5980344.html

2,新增加一个指定ip,指定用户,指定数据库的访问。
请参考这篇文章:https://help.aliyun.com/knowledge_detail/6708659.html

grant all privileges on wawa.* to usertest@'%' identified by 'xxxxxx';