如何避免mysql启动时错误及sock文件作用分析


Posted in MySQL onJanuary 22, 2022

在mysql的启动过程中有时会遇到下述错误

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 

请问mysql.sock 这个文件到底起什么作用?

如何避免发生如此错误?

答案一、

这个mysql.sock应该是mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快。通常遇到这个问题的原因就是你的mysql server没运行起来。

看看你的 /tmp/mysql.sock 这个文件存在否?正常情况下它应该在那里的

或者用 netstat 看看结果中是否有 

Active UNIX domain sockets 

答案二、

这个文件是用于socket连接的文件。 
也就是只有你的守护进程启动起来这个文件才存在。 
但是你的mysql程序(这个程序是客户端,服务器端时mysqld)可以选择是否使用mysql.sock文件来连接(因为这个方法只适合在Unix主机上面连接本地的mysqld),对于非本地的任何类型的主机。这些在MySQL的手册(包括晏子翻译的中文版本,覆盖3.23/4.0版本)都有说明。只要看看就可以明白。 

前面朋友说不能连接,最大可能就是mysqld的这个守护进程没有启动。 

答案三、

Mysql有两种连接方式:

(1)TCP/IP

(2)socket

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

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

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

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

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

找不到 mysql.sock 的处理方法

出现以下的信息:

Got an error: Connection error: Can't connect to local MySQL server through
socket '/var/lib/mysql/mysql.sock'

mysql.sock 突然消失算是常见的问题。
如果是第一次安装MySQL后运行时出现,那只要找出 mysql.sock 在哪里就可以了。

以上的信息表明

mysql.sock应该是在 /var/lib/mysql/ 下 。

如果你找了没找到就

#locate mysql.sock

就会出来了,接着你就可以

#mysqladmin -S /路径/mysql.sock -u root

如果是原来很正常的,突然有一天系统告诉你找不到mysql.sock这鬼文件了,怎么办?

那只好用/etc/rc.d/init.d/mysql restart 或者service mysql restart 重启服务

如果还不行,就先

#ps -aux|grep mysql 找mysql的进程.

#kill mysql进程号 确定全部kill光

再/etc/rc.d/init.d/mysql restart 或者service mysql restart 重启服务 

以上就是mysql启动时错误sock文件作用分析的详细内容,更多关于mysql启动错误sock作用的资料请关注三水点靠木其它相关文章!

MySQL 相关文章推荐
MySQL 8.0 之不可见列的基本操作
May 20 MySQL
MySQL中出现乱码问题的终极解决宝典
May 26 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
Jul 16 MySQL
sql注入教程之类型以及提交注入
Aug 02 MySQL
记一次Mysql不走日期字段索引的原因小结
Oct 24 MySQL
SQL基础查询和LINQ集成化查询
Jan 18 MySQL
MySQL日期时间函数知识汇总
Mar 17 MySQL
Innodb存储引擎中的后台线程详解
Apr 03 MySQL
Mysql排查分析慢sql之explain实战案例
Apr 19 MySQL
MySQL的prepare使用以及遇到的bug
May 11 MySQL
MySQL transaction事务安全示例讲解
Jun 21 MySQL
教你使用VS Code的MySQL扩展管理数据库的方法
Jan 22 #MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 #MySQL
mysql分组后合并显示一个字段的多条数据方式
Jan 22 #MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 #MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
MySQL创建定时任务
Jan 22 #MySQL
SQL基础查询和LINQ集成化查询
Jan 18 #MySQL
You might like
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
python 获取文件列表(或是目录例表)
2009/03/25 Python
python list使用示例 list中找连续的数字
2014/01/27 Python
Python生成随机验证码的两种方法
2015/12/22 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
行政内勤岗位职责
2014/04/07 职场文书
安全生产宣传标语
2014/06/06 职场文书
销售类求职信
2014/06/13 职场文书
解放思想演讲稿
2014/09/11 职场文书
小学主题班会教案
2015/08/17 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书