繁体   English   中英

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

[英]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.116142.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM