python mysql 报 Can't connect to local MySQL server through socket '/tmp/mysql.sock'

代码如下:


import MySQLdb

# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "123456",
                     "baike_test", charset='utf8')

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > %s" % (1000)
try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # 打印结果
        print("fname=%s,lname=%s,age=%s,sex=%s,income=%s" %
              (fname, lname, age, sex, income))
except:
    print("Error: unable to fecth data")

# 关闭数据库连接
db.close()

具体情况如下:

python aa.py 
Traceback (most recent call last):
  File "aa.py", line 6, in <module>
    "baike_test", charset='utf8')
  File "/home/lhpc04/anaconda3/lib/python3.6/site-packages/MySQLdb/__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "/home/lhpc04/anaconda3/lib/python3.6/site-packages/MySQLdb/connections.py", line 208, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2006, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")

在网上看了下,很多小伙伴都把重点放到 ‘/tmp/mysql.sock’ 文件上了,做了很多这个文件的工作。

我从新看了下,注意到是不能链接到mysql server。想到是不是域名解析的错误。

# 将其中localhost
db = MySQLdb.connect("localhost", "root", "123456",
                     "test", charset='utf8')
# 换为:
db = MySQLdb.connect("127.0.0.1", "root", "123456",
                     "test", charset='utf8')

运行正常了,希望给遇到这个小伙伴看看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值