的问题还是之前提到的项目,现在环境准备好了,在项目准备和验证阶段发现了问题。我是从上层应用进入认证访问申请,一直在等待。我输入了正确的用户名和密码,但无法访问。好像没有办法访问数据库连接的意思。mysql部署后的端口一般是3306,尝试ping和telnet3306端口,发现可以ping通ip,但是telnet不了3306端口,报这样的错误:ERROR1130:Host*.*.*.*isnotallowedtoconnecttoMySQL看到这个错误后,上网查了下,基本上解决方法还是蛮多的,但是为什么要专门写呢?答案是:网上很多解决方案都是mysql5.6的解决方案。在5.7中,这个错误的解决方法如下:1、第一次登录mysql后,需要及时修改root密码。5.6和5.7有个区别,就是5.6中的password字段是:password,但是在5.7版本中取消了这个字段,取而代之的是is:authentication_string字段。正确的修改方法是:updateusersetauthentication_string=password("xxxx")whereuser="root";flushprivileges;2、修改后,我们使用usemysql命令切换到mysql库。注意这个mysql库是真的在mysql中有一个库,里面存放了一些db相关的信息。命令:使用mysql;3.找到users表,执行如下命令:grantallprivilegeson*.*to'root'@'%'identifiedby'JLwg!2017'withgrantoption;网上修改这个项目的方法很多,一共有4种。我使用其中之一。这条命令的意思是修改root用户的访问权限,让所有ips都可以访问这个用户。这样我们的应用就可以通过外部ip访问这个mysql了,否则只能localhost访问,非常不方便。4.***执行flush权限;命令重启Mysql服务,应用成功登录成功。
