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)?

ε=(´ο`*)))唉

不要随意用位置传参

不要随意用位置传参

不要随意用位置传参

发布了14 篇原创文章 · 获赞 1 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/jh1141233305/article/details/86541141
今日推荐