我对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,'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到底是什么?
发布于 2013-10-08 00:33:08
此错误意味着在ip 173.201.136.195上拒绝用户user123123对服务器142.151.201.116的访问。当授予mysql数据库上的用户访问权限时,可以为多个ips指定ip或通配符。因此,用户对数据库的访问是按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表中。
https://stackoverflow.com/questions/19236926
复制相似问题