这个函数应该连接到数据库,因为我使用了一个异常,当发现不正确的输入时,我会得到我自己创建的消息。但是当我删除 try 和 except 时,我得到:“拒绝访问/'user/'@'/'localhost'(使用密码:否)。
它似乎没有读取我的密码我不知道为什么会感谢您的帮助。没有此文件,与数据库的连接工作正常,没有任何错误。
try:
self.conn = pymysql.connect(read_default_file="~/my.cnf")
self.curr = self.conn.cursor()
except pymysql.err.OperationalError :
sys.exit("Invalid Input: Wrong username/database or password found, please try again")
在.my.cnf文件中找到的信息是:
[客户]
主机='本地主机'
端口=3306
用户 = 我的用户名
密码 = "我的密码"
最佳答案
你用过:
pymysql.connect(read_default_file="~/my.cnf")
你应该用过:
pymysql.connect(read_default_file='~/.my.cnf')
-------------------------------------^
请注意文件名中缺少的点。您只是加载了一个不同的或不存在的文件。
~
正在展开,如下所示:
我还可以确认 .my.cnf
文件中不需要引号或空格:
echo -e "[client]\nuser=root\npassword=defaultrootpwd" > ~/.my.cnf
关于sql - 无法使用 .my.cnf 文件连接到数据库 pymysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27203902/