问题
python中,在程序中配置的mysql地址是:97.225.17.114
但是程序链接mysql时返回的错误是如下:
Error 1045: Access denied for user ‘qter’@‘97.25.15.232’ (using password: YES)
很奇怪,97.25.15.232是本机的ip,我在配置中明明使用的97.225.17.114这个mysql ip,怎么会用了本机的ip?而且我找了代码和配置文件中,都没找到97.25.15.232这个字符串,那程序是怎么会使用了97.25.15.232。
查询发现,如果配置中mysql ip和密码写错了,那么就会使用本机的ip。但是我的IP和密码并没有写错。
检查mysql用户和权限的设置语句,发现原来是把权限范围设置成仅’97.225.17.114’ 可以使用了。
create user 'qter'@'97.225.17.114' identified by '1234';
grant ALL ON qtdb.* to 'qter'@'97.225.17.114';
FLUSH privileges;
show grants for 'qter'@'97.225.17.114';
解决
把IP地址改为%即可对所有IP可用。
修改如下
create user 'qter'@'%' identified by '1234';
grant ALL ON qtdb.* to 'qter'@'%';
FLUSH privileges;
show grants for 'qter'@'%';