如何避免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复制问题的三个参数分析
Apr 07 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
你知道哪几种MYSQL的连接查询
Jun 03 MySQL
MySQL如何使用使用Xtrabackup进行备份和恢复
Jun 21 MySQL
MySQL系列之二 多实例配置
Jul 02 MySQL
MySQL 聚合函数排序
Jul 16 MySQL
Mysql8.0递归查询的简单用法示例
Aug 04 MySQL
MySQL命令无法输入中文问题的解决方式
Aug 30 MySQL
mysql的数据压缩性能对比详情
Nov 07 MySQL
MySQL 逻辑备份 into outfile
May 15 MySQL
mysql 排序失效
May 20 MySQL
MySQL深分页问题解决思路
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
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python实现的批量下载RFC文档
2015/03/10 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
python简单商城购物车实例代码
2018/03/15 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
Java文件和目录(IO)操作
2014/08/26 面试题
如何写一个自定义标签
2012/12/28 面试题
岳父生日宴会答谢词
2014/01/13 职场文书
安全教育月活动总结
2014/05/05 职场文书
功夫熊猫观后感
2015/06/10 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫