在尝试网上的各种解决办法皆无果后.........
发现是这个问题:尽管在命令行中使用mysql -u root -p
可以成功登录,但在Python脚本中使用pymysql.connect
时,密码可能需要不同的处理。
在Python脚本中,应该直接提供密码的字符串,而不是使用命令行提示符来输入密码。请确保在Python脚本中提供的密码与在MySQL命令行客户端中使用的密码完全一致。
它直接使用密码字符串而不是使用命令行提示符:
import pymysql
# 确保这里的密码与MySQL命令行客户端中使用的密码完全一致
password = "123546"
try:
# 连接到MySQL数据库
db = pymysql.connect(
host="localhost",
user="root",
password=password, # 直接提供密码字符串
database="sales_database"
)
print("连接成功")
except pymysql.MySQLError as e:
print(f"连接失败:{e}")