Code Bye

修改mysql用户的密码时遇到的问题,求高手解救!

数据库服务器是在阿里云上,鄙人先是用SQLyog这个工具,里面有个“用户管理”来修改用户tester的密码(使用tester登录然后修改tester的密码,不是root),可是“主机”一项里面有“localhost”、“127.0.0.1”和“%”三个选项。假如三个密码都改,连数据库的时候,就会报”@58.xx.xxx.xx密码不正确”,””58.xx.xxx.xx”是个ip,但根本就不是数据库服务器的ip,不知道为什么。另外这三个选项有什么区别?
后来在网上找的方法,直接update mysql的user表,导致新密码和旧密码都能用了。然后又使用先grant … 再flush ..的方法,只要service mysqld restart,新密码和旧密码又都能用了。怎么破?求高手指导!
解决方案:20分
58.xx.xxx.xx 这个是你本人的电脑的ip地址。
mysql和其他数据库不一样的地方就是,除了用户名和密码,还会 验证 你登录mysql时,所用的ip地址,例如你在公司用你的电脑登录阿里云的mysql,那么会验证你的ip能否符合要求。
% 表示任何ip
localhost 就是只允许你在阿里的服务器上登录
解决方案:20分
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
本机IP 也是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。
但是本机IP与127.0.0.1的区别是:
127.0.0.1 只能通过本机访问
本机IP 通过本机访问也能通过外部访问
而%表示任何IP都可以访问

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明修改mysql用户的密码时遇到的问题,求高手解救!