Python 访问远程数据库失败,";(1045,用户访问被拒绝……”;
本地计算机环境:Python 访问远程数据库失败,";(1045,用户访问被拒绝……”;,python,database,mysql-python,Python,Database,Mysql Python,本地计算机环境: centos 6.7 python 2.7.10 MySQLdb 0.2.0 本地ip:112.25.76.72 远程ip:221.228.203.203 这两个代码都在本地计算机上运行 当我在本地python命令行环境中访问远程数据库时,如下所示: >>>import MySQLdb >>>conn = MySQLdb.connect(host="221.228.203.203",user="test_user",passwd="tes
- centos 6.7
- python 2.7.10
- MySQLdb 0.2.0
- 本地ip:112.25.76.72
- 远程ip:221.228.203.203
>>>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,“用户'test_user'@'112.25.76.72(使用密码:YES)”的访问被拒绝)
为什么??他们的python环境是相同的
如果您能解决,请帮助我。您应该在数据库服务器中检查用户的配置。它将存储在数据库mysql中。 您可以通过以下方式获得用户列表:
SELECT user, host FROM mysql.user;
您不应该删除用户测试_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;
你在哪里运行了第一个代码?从本地主机?可能是用户test\u用户只能从localhost登录。你应该检查数据库或用户的配置。代码是正确的。“用户'test_user'@'112.25.76.72'的访问被拒绝显示计算机的ip(112.25.76.72),其中您运行第二个代码是,在本地计算机中运行的代码和ip都是“112.75.76.72”。我应该检查哪个配置文件???