[英]how to use Python3.3 access online MySQL Database
我是python和网络编程的新手。 最近,我在访问在线数据库时遇到了麻烦。
问题是我想编写代码并在计算机上执行该代码以访问我的在线数据库,而我唯一想做的就是访问数据库中的信息并进行一些更改。 第一个问题是我不知道该用什么作为参数。
这是我的在线数据库中显示的内容,可以使用Internet浏览器进行访问:
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应该使用哪个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外壳显示:
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
是142.151.201.116
?
该错误意味着访问服务器173.201.136.195
被拒绝用户user123123
在IP 142.151.201.116
。 当您授予mysql数据库上的用户访问权限时,请为多个IP指定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
表上
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.