Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问远程数据库失败,";(1045,用户访问被拒绝……”;_Python_Database_Mysql Python - Fatal编程技术网

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
这两个代码都在本地计算机上运行

当我在本地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,“用户'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”。我应该检查哪个配置文件???