如何使用Python3.3访问在线MySQL数据库
我是python和网络编程新手。 最近我在访问在线数据库时遇到问题 问题是我想写一个代码并在我的计算机上执行它来访问我的在线数据库,我唯一想做的就是访问数据库中的信息并做一些更改。 第一个问题是,我不知道使用什么作为参数 以下是我的在线数据库中显示的内容,我可以使用internet浏览器访问该数据库:如何使用Python3.3访问在线MySQL数据库,python,mysql,Python,Mysql,我是python和网络编程新手。 最近我在访问在线数据库时遇到问题 问题是我想写一个代码并在我的计算机上执行它来访问我的在线数据库,我唯一想做的就是访问数据库中的信息并做一些更改。 第一个问题是,我不知道使用什么作为参数 以下是我的在线数据库中显示的内容,我可以使用internet浏览器访问该数据库: 173.201.136.195 Server version: 5.0.96-log Server: 173.201.136.195 via TCP/IP User: user123123@72
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)
我不知道在连接到“173.201.136.195”或“173.201.136.195”时应该使用哪个ip以及应该使用哪个用户名用户123123'或'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究竟是什么?该错误意味着ip 142.151.201.116上的用户123123无法访问服务器173.201.136.195。当您向mysql数据库上的用户授予访问权限时,需要为多个ip指定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表中user123123@72.167.233.37“我刚刚试用了我的SQL查询浏览器,它可以与我的用户名和密码配合使用。但当我在pythonshell上尝试它时,它失败了。有什么想法吗?