MySQL数据库之解决mysql-socket报错问题
小标 2018-09-12 来源 : 阅读 1459 评论 0

摘要:本文主要向大家介绍了MySQL数据库之解决mysql-socket报错问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之解决mysql-socket报错问题 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

[root@cml python]# cat test.py | head -n 20
#!/usr/local/bin/python

'''author = chenmingle'''



'''Description:get mysql status'''

import os

import sys

try:

    import MySQLdb as mysql

except Exception, e:

    print e

    print "pip install MySQL-python"

    sys.exit(1)



con = mysql.connect(host='localhost',user='root',passwd='Meimeifa123456',)





[root@cml python]# python test.py slave_status

Traceback (most recent call last):

  File "test.py", line 14, in <module>

    con = mysql.connect(user='zabbix',passwd='',port=3306)

  File "/usr/local/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect

    return Connection(*args, **kwargs)

  File "/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__

    super(Connection, self).__init__(*args, **kwargs2)

_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")

 



 



看了一下,我的/etc/my.cnf里, socket设置的是,/tmp/mysql.sock,我把该项目修改为 /var/lib/mysql/mysql.sock,得到了解决。

[root@cml python]# vim /etc/my.cnf

socket = /var/lib/mysql/mysql.sock



重启mysql服务



如果仍然报错,那应该就是权限的问题了。



 



需要说明的是,我之前一直没有理解mysql.sock这个文件的作用,但是今天理解了。



如下是我从网上搜索到的解释:



Mysql有两种连接方式:



(1),TCP/IP



(2),socket



对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。



例如你无须定义连接host的具体IP得,只要为空或localhost就可以。



在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。



因为你在my.ini中或my.cnf中改变端口后,mysql.sock是随每一次 mysql server启动生成的。已经根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。



那么对于外部连接,必须是要变更port才能连接的。    

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程