如何避免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抛出异常的几种常见解决方式
May 18 MySQL
MySQL中InnoDB存储引擎的锁的基本使用教程
May 26 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
MySQL修炼之联结与集合浅析
Oct 05 MySQL
MySQL七种JOIN类型小结
Oct 24 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
Feb 15 MySQL
MySQL实现配置主从复制项目实践
Mar 31 MySQL
排查并解决MySQL生产库内存使用率高的报警
Apr 11 MySQL
MySQL创建管理HASH分区
Apr 13 MySQL
MySQL 执行数据库更新update操作的时候数据库卡死了
May 02 MySQL
MySQL解决Navicat设置默认字符串时的报错问题
Jun 16 MySQL
MySQL池化框架学习接池自定义
Jul 23 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强制下载PDF文件示例
2014/01/17 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php实现删除空目录的方法
2015/03/16 PHP
分享php分页的功能模块
2015/06/16 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
JQuery中serialize()用法实例分析
2015/02/06 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
Vant的安装和配合引入Vue.js项目里的方法步骤
2018/12/05 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
python异步存储数据详解
2019/03/19 Python
详解Python函数式编程—高阶函数
2019/03/29 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
职专应届生求职信
2013/11/16 职场文书
小学生安全保证书
2014/02/01 职场文书
质量负责人任命书
2014/06/06 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
重阳节活动总结
2014/08/27 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL