mysql連線不上

2021-09-24 01:19:13 字數 1634 閱讀 4536

這兩天遇到乙個問題,自己做的程式模組,之前執行的好好的,突然報錯,執行不了了。

pymysql.err.operationalerror: (2003, "can't connect to mysql server on '127.0.0.1' ([errno -8] servname not supported for ai_socktype)")
上面是返回來的錯誤

最開始以為是mysql的問題,因為之前**是可以執行的,近期也沒有改動。只有php那邊動過,所以懷疑是php那邊的問題。php那邊整了好久,問題都沒有解決。

後來還是同事幫忙找出了問題,原來是調介面時引數順序有問題,哭暈在廁所。。。。

import pymysql

from settings import logger

import settings

def read_from_mysql(enterpriseid):

host = settings.mysql_host

user = settings.mysql_user

password = settings.mysql_password

port = settings.mysql_port

dbname='co' + enterpriseid

db = pymysql.connect(host,user, password,port, dbname, charset='utf8')

# 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor()

cursor.execute("alter database `%s` character set 'utf8' collate 'utf8_unicode_ci'" % dbname)

try:

sql = "select name,conform_words from c_conform_words where is_delete = 0"

cursor.execute(sql)

date = cursor.fetchall()

finally:

db.close()

return date

問題就出在這一行,把port放在了daname前面

db = pymysql.connect(host,user, password,port, dbname, charset='utf8')
找到的connecting函式的原始碼

更改方案1:按函式順序給值

db = pymysql.connect(host,user, password, dbname,port charset='utf8')
更改方案2:將實參賦值給形參,這樣就不用管順序了

db = pymysql.connect(host = host,user = user, password = password,port = port, database = dbname, charset='utf8')

mysql 連線不上 mysql連線不上怎麼辦

下面是mysql的連線方式 使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例如以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 my...

TOMCAT JDBC連線不上MYSQL的常用診斷

下面對常見的情況進行分析 1 web和資料庫作業系統是否有問題 web端系統日誌報錯 ip conntrack table full,dropping packet 該報錯說明web伺服器有掉包情況,需要更改配置 vim etc sysctl.conf 新增如下行 net.ipv4.netfilte...

Centos7 Mysql 連線不上

參考別人的文章安裝mysql時候挺順利的,可是關機重啟之後外部就連不上了,在localhost也連不上,提示can t connect to local mysql server through socket var lib mysql mysql.sock service mysqld stop ...