问题描述
最近使用python操作数据库时,把数据库相关信息写在配置文件中,读取信息以后连接数据库时遇到以下错误:
Access denied for user ‘root’@’localhost’ (using password:YES)
查找解决办法,都是说权限问题,需要修改root用户的权限,但是我使用命令行登录mysql并没有报错,并且把数据库信息直接写在程序中也是可以连接数据库的。所以初步断定不是权限问题应该是读取配置信息出错。
调试过程
1.打印配置信息,并与之前可以连接的数据库信息比对,发现没有错误。
2.打印读取出来的配置信息的数据类型并比较,发现也相同,都是string。
3.使用 == 判断值是否相等,发现返回false。
4.最后发现读取出来的信息多了 ” ,如下:
配置信息:host = ”localhost”
连接信息:host = ‘localhost’
解决办法:
修改配置文件中的配置信息为如下格式:
host=localhost
总结:
配置文件中的配置信息字段不需要加引号