在python中使用pymysql连接数据库
Posted
技术标签:
【中文标题】在python中使用pymysql连接数据库【英文标题】:connecting database using pymysql in python 【发布时间】:2018-10-25 02:49:30 【问题描述】:我仍在学习如何使用 python 库处理数据库
执行以下代码时发生操作错误 screenshot
代码sn-p:
import pymysql
db1=pymysql.connect(host="127.0.0.1",user="root",password='root',port=3306,db='world')
a=db1.cursor()
sql='SELECT * from CITY'
print(a.execute(sql))
错误:
(1045, "Access denied for user 'root'@'localhost' (using password: NO)")
这可能是什么原因?
【问题讨论】:
【参考方案1】:执行以下代码截图时发生操作错误。这可能是什么原因?
有问题的错误是:
(1045, "Access denied for user 'root'@'localhost' (using password: NO)")
它表明您正在尝试不使用密码进行连接,而实际上您在连接参数中提供了密码。这曾经是 pymysql 的已知错误,因此答案可能取决于版本。如果您可以正常使用mysql -u root -proot world
(来自您的连接参数的数据库、密码和用户)连接到 mysql,这意味着您的数据库确实具有正确的凭据并且需要密码,而连接方法没有发送密码,很可能是由于旧版本。另一方面,如果您无法连接,则很可能您的 root 密码为空,您需要正确设置它。还有一个选项是您在访问 root 用户的数据库“世界”时遇到问题。
【讨论】:
以上是关于在python中使用pymysql连接数据库的主要内容,如果未能解决你的问题,请参考以下文章