连接远程MySQL数据库遇到的问题


如上面两张截图,在代码的中配置的IP地址跟报错时出现的IP不一致,当时就很疑惑,为啥明明配置好了IP结果访问的别的IP.经过查看了半天,才发现可笑的一点,原来报错的原因就是密码错误.报错的IP地址就是你本地的IP.
但问题才刚刚开始,发现是自己root用户密码错误了,但是自己密码就是这样的啊,然后我去服务器上面用root用户和我代码里面配置的密码登录MySQL,结果是正常登录使用.最后经过度娘才明白原来MySQL处于安全考虑,root用户只允许本地访问数据库,如果远程需要使用root访问数据库,就必须去MySQL中配置一个对所有主机开发的root用户和相应的权限.具体的步骤如下:
在服务器用root用户登录mysql,然后选择mysql数据库
然后输入:select User,authentication_string,Host from user;

如上图就能看见root用户有两个,一个是本地的,一个是%代表所有主机(这是因为我之前刚配置了的,如果没有配置是不存在这个一个的).
然后你就需要添加一个针对所有主机开放的root以及相应权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
上面的密码我是随便写的,发现如果密码太简单MySQL不允许,会提示你密码太简单.
上面就是解决root用户远程访问MySQL的问题.

哈哈,第一次写博客,自娱自乐!完全不会排版

浙公网安备 33010602011771号