1

我是 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什么?

4

1 回答 1

0

该错误意味着ip173.201.136.195上的用户拒绝访问服务器。当您授予 mysql 数据库上的用户访问权限时,您可以为多个 ip 指定 ip 或 wildcads。因此,用户对数据库的访问是按 ip 进行的。user123123142.151.201.116

例子:

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桌子上

于 2013-10-08T00:33:08.357 回答