本地机器环境:
两个代码都在本地机器上运行;
当我在本地python命令行环境中访问远程数据库时,如下所示:
>>>import MySQLdb
>>>conn = MySQLdb.connect(host="221.228.203.203",user="test_user",passwd="test_passwd",db="test_db",charset="utf-8")
它成功访问,但是当我将这些代码写入python脚本login.py:
时import MySQLdb
conn = None
try:
conn = MySQLdb.connect(host="221.228.203.203",user="test_user",passwd="test_passwd",db="test_db",charset="utf-8")
cur = conn.cursor()
except Exception,e:
print e
finally:
if conn:
conn.close()
然后在终端中执行“python login.py”,它访问失败,错误信息为:
(1045, "Access denied for user 'test_user'@'112.25.76.72' (using password: YES)")
为什么呢?他们的python环境是一样的。
如果你能解决,请帮助我。
答案 0 :(得分:0)
您应该检查数据库服务器中用户的配置。它将存储在数据库mysql中。 您可以通过以下方式获取用户列表:
SELECT user, host FROM mysql.user;
您不应删除用户test_user @ localhost。您可以尝试在数据库服务器上执行它
CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_passwd'
GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'localhost' WITH GRANT OPTION;