Python mysql连接器将主机链接更改为ipaddress

时间:2018-08-21 17:50:59

标签: python mysql aws-security-group mysql-connector-python

我遇到mysql连接器问题。

我有一个无法从本地计算机连接的环境。

我使用简单的命令进行连接:

from mysql.connector import connect

connection = mysql.connector.connect(user='dbuser', database='dbname', 
                                     host='amazon_link', password='dbpassword')

这适用于除一个环境之外的所有环境。这也适用于数据库所在的服务器。

我可以使用MySqlWorkbench从本地计算机访问数据库。但是,当我尝试使用脚本时,出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/connection.py", line 95, in __init__
    self.connect(**kwargs)
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/abstracts.py", line 719, in connect
    self._open_connection()
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/connection.py", line 210, in _open_connection
    self._ssl)
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/connection.py", line 144, in _do_auth
    self._auth_switch_request(username, password)
  File "/Users/rajatvij/Development/env/lib/python2.7/site-packages/mysql/connector/connection.py", line 177, in _auth_switch_request
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'dbuser'@'10.0.1.72' (using password: YES)

我为主机链接获取的IP地址也与此处显示的mysql连接器不同。

有没有一种方法可以避免mysql连接器在此处将链接更改为url,因为当我在工作台中使用链接而不是IP地址时,我就可以连接。因此,我怀疑这是与VPN或安全组有关的问题。否则我将根本无法通过工作台连接到数据库。

任何帮助将不胜感激。谢谢。

对不起,如果我错过了这里的基本知识。

1 个答案:

答案 0 :(得分:1)

尝试使用服务器的全局IP地址代替域名。

有关更多详细信息,请参考stackoverflow链接: Remotely connect to MySQL with Python mysql.connector