如何使用Python3.3访问在线MySQL数据库

时间:2013-10-08 00:07:37

标签: python mysql

我是python和网络编程的新手。 最近我无法访问我的在线数据库。

问题是我想编写一个代码并在我的计算机上执行它以访问我的在线数据库,我唯一想做的就是访问我数据库中的信息并进行一些更改。 第一个问题是我不知道该用什么作为参数。

这是我在线数据库上显示的内容,我可以使用互联网浏览器访问:

173.201.136.195

Server version: 5.0.96-log
Server: 173.201.136.195 via TCP/IP
User: user123123@72.167.233.37
MySQL charset: UTF-8 Unicode (utf8) 

我不明白我连接它时应该使用哪个IP,'173.201.136.195' or '173.201.136.195'以及我应该使用哪个用户名。 'user123123' or 'user123123@72.167.233.37'

这是我使用的代码:

conn = pymysql.connect(host='173.201.136.195',user='user123123',passwd="123123123",db='TestData')

phthon shell表明:

File "F:\Program Files\Python33\lib\pymysql\connections.py", line 819, in _connect 2003, "Can't connect to MySQL server on %r (%s)" % (self.host, e))
pymysql.err.OperationalError: (2003, 'Can\'t connect to MySQL server on    \'173.201.136.195\' ((1045, "Access denied for user \'user123123\'@\'142.151.201.116\'   (using password: YES)"))')

究竟是什么142.151.201.116

1 个答案:

答案 0 :(得分:0)

错误意味着在173.201.136.195处拒绝用户user123123访问服务器142.151.201.116。当您在mysql数据库上授予用户访问权限时,您可以为多个ips指定ip或wildcads。因此,用户访问数据库是按ip。

示例:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

将允许访问所有主机上的用户名。但是这个:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'10.20.30.40' IDENTIFIED BY 'password' WITH GRANT OPTION;

将在 ip 10.20.30.40

提供对用户名的访问权限

此信息位于mysql.user