Pymysql连接Mysql报错[Errno 2] [Errno -8])问题解决

 小白使用pymysql连接mysql数据库时,声明变量,编写语句,运行。。

???∑(O_O;)

报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno -8] Servname not supported for ai_socktype)")

hosts = '127.0.0.1'
port = 3306
user = 'root'
passwd = '123456'
db_name = 'test'
charset = 'utf8'

db = pymysql.connect(hosts, user, passwd, db_name,charset)

然后,该用了这样子的方式,再次试用,居然成功了 

 我尼玛,这俩有啥区别,无非就是一个用了变量来接受啊啊啊

再试一次,还是一样。。。

报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno -8] Servname not supported for ai_socktype)")

db = pymysql.connect(hosts,port, user, passwd, db_name,charset)

这个错误是你书写的顺序不对,port应该在db_name后面

 改好之后咱们再试一次

db = pymysql.connect(hosts, user, passwd, db_name,port,charset)

报错:(2003, "Can't connect to MySQL server on '176.23.4.101' ([Errno 2] No such file or directory)")

我去。。这到底咋回事???


终于。。。找到了问题的根源,设置为如下就可以了

db = pymysql.connect('127.0.0.1', 'root', '123456', 'test', charset='utf8')

成功了,成功了,成功了!!!{{|└(>o<)┘|}}

重点就在chatset ='utf8',chatset ='utf8',chatset ='utf8'。啊啊啊

db = pymysql.connect(hosts, user, passwd, db_name,charset='utf8')

而在pymysql中的连接函数里的结构,前几个参数是这样的

host=None, user=None, password="",database=None, port=0, unix_socket=None, charset=''

所以,我报错的原因就是中间少了个unix_socket=None??少了这步骤传参吗(O_O)?

ε=(´ο`*)))唉

不要随意用位置传参

不要随意用位置传参

不要随意用位置传参

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值