如何避免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 sql_mode的使用详解
May 08 MySQL
MySQL中使用or、in与union all在查询命令下的效率对比
May 26 MySQL
mysql升级到5.7时,wordpress导数据报错1067的问题
May 27 MySQL
MYSQL 无法识别中文的永久解决方法
Jun 03 MySQL
MySQL系列之四 SQL语法
Jul 02 MySQL
MySQL系列之十一 日志记录
Jul 02 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
MySQL安装失败的原因及解决步骤
Jun 14 MySQL
mysql数据库隔离级别详解
Jun 16 MySQL
MySQL示例讲解数据库约束以及表的设计
Jun 16 MySQL
mysql sql常用语句大全
Jun 21 MySQL
mysql数据库如何转移到oracle
Dec 24 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php生成略缩图代码
2012/07/16 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
JavaScript 私有成员分析
2009/01/13 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Python中关于使用模块的基础知识
2015/05/24 Python
Python set常用操作函数集锦
2017/11/15 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python zip()函数使用方法解析
2019/10/31 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
化学教师自荐信范文
2013/12/28 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
初中军训感言
2015/08/01 职场文书
小学班主任心得体会
2016/01/07 职场文书
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers