栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python连外部MySQL的那些事(错误)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python连外部MySQL的那些事(错误)

        首先用的是MySQLdb库,设增删改查函数;外部Mysql是在另一台电脑上,另一台电脑打开花生壳内网穿透,作为服务器;记得提前打开另一台电脑的防火墙里对应权限,方法如下面这个大佬的:使用python远程连接数据库 - 走看看根据web连接服务的原理,我们可以通过一台电脑连接我们另一台电脑上的数据库 一、开启数据库的权限1.Mysql:1)修改访问权限首先修改可以访问的ip,把‘localhost’全部修改为‘%’,打开chttp://t.zoukankan.com/future-dream-p-11080702.html错误小结:

1、(2002, "Can't connect to MySQL server on '127.0.0.1' (10061)")

没启动MySQL,记得把MySQL加入path中,然后cmd管理员打开,再启动

2、2003- Can‘t connect to MySQL server on ‘127.0.0.1‘

网上查到的这类解都是Navicat无法连到MySQL的错,是MySQL服务没开。但在Python连接MySQL时可能是IP没写对。

3、(2005, "Unknown MySQL server host '470011u8p9.qicp.vip:40605' (11001)")

没输对host,不是内网穿透IP,IP要写花生壳的外网IP,记得端口号要写花生壳给的,而花生壳在配置时候记得把内网对应的主机端口写为3306//这是MySQL的默认端口。

4、“ERROR 1049 (42000): Unknown database 'mysql80'”

MySQLdb.connect("470011u8p9.qicp.vip","root", "123456","biao",port=40605, charset='utf8' )


上面语句里db要填的是MySQL里创建的那个包,不是MySQL的名字。

5、mysql error 1146 ,table doesn't exist  和上面的错误一样,写的db是包名,不是表名

6、local variable referenced before assignment  这个问题出现在增的函数里,其实就是

sql = "INSERT INTO wendu(temp) VALUES ('%s')" % (t1)

语句,INTO后面跟的应该是表名

7、不能成功写入,但能查:上面代码里wendu括号里是列名

两个需要注意的问题:

db = MySQLdb.connect("xx.xx.xx","root", "xxx", "biao",port=xxx, charset='utf8' )

上面的connect函数,第一个是host,本地的就是主机名,外部的如果是另一台主机上的MySQL则是花生壳提供的外网IP。第二个是用户,默认为root。第三个是密码,就是MySQL的密码。第四个是包名,注意不是MySQL名或table的名,是创建的包的名字。第四个port,本机默认3306,外部的电脑接入用的是花生壳提供的那个。

"INSERT INTO wendu(temp) VALUES ('%s')" % (t1)

上面这一段增的语句,是“insert into table名(列名) values(类型)”%变量

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号