A. python连接mysql数据库出错,已经尝试了网上的几种解决方法
这里的意思是:数据库连不上啊。
可能是网络问题,可能是防火墙问题,可能是3306端口没开。你先排除这些问题吧。用一些mysql工具连接测试看,比如SQLyog 测试。
B. Python通过第三方库pymysql连接mysql数据库出错。
那肯定是因为你的insert语句里面的values有问题,这些值都为空,所以你返回结果行为None,你可以试着输出一下self.insertSql这个变量,看看输出来的结果是什么就知道了。
或者是你把values的值换成字符串,成功插入后再修改成变量,慢慢调试。
这种数据库操作的问题,最好是要好好检查下自己的sql语句。
C. python 连接mysql数据库报错
编辑mysql配置文件my.ini(在MySQLServer的安装目录),在[mysqld]这个条目下加入 skip-grant-tables
保存退出后重启mysql
1.点击“开始”->“运行”(快捷键Win+R)。
2.启动:输入 net stop mysql
3.停止:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,绿色的是执行后显示的代码不用输入):
1.进入mysql数据库:
mysql> use mysql; Database changed
2.给root用户设置新密码,蓝色部分自己输入: mysql> update user set password=password("新密码") where user="root"; Query OK, 1 rows affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
4.退出mysql: mysql> quit Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
总结:猜测根本原因就是简单的密码输入错误,通过以上方法我们可以不验证密码来连接上mysql,然后设置新密码。