如何避免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 25 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
MySQL into_Mysql中replace与replace into用法案例详解
Sep 14 MySQL
mysql中varchar类型的日期进行比较、排序等操作的实现
Nov 17 MySQL
mysql5.6主从搭建以及不同步问题详解
Dec 04 MySQL
mysql中整数数据类型tinyint详解
Dec 06 MySQL
浅谈如何保证Mysql主从一致
Mar 13 MySQL
MySQL分区路径子分区再分区
Apr 13 MySQL
mysql 乱码 字符集latin1转UTF8
Apr 19 MySQL
MySql数据库触发器使用教程
Jun 01 MySQL
MySQL新手入门进阶语句汇总
Sep 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绘图之生成饼状图的方法
2015/01/24 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
深入理解 TypeScript Reflect Metadata
2019/12/12 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python 文件处理注意事项总结
2017/04/10 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
python学生信息管理系统(初级版)
2018/10/17 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
解决python 文本过滤和清理问题
2019/08/28 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python实现井字棋小游戏
2020/03/04 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
汇智创新科技发展有限公司
2015/12/06 面试题
广州某公司软件工程师面试题
2014/12/22 面试题
策划主管的工作职责
2013/11/24 职场文书
优秀研究生自我鉴定
2013/12/04 职场文书
《日月潭》教学反思
2014/02/28 职场文书
捐款活动总结
2014/08/27 职场文书
假期安全教育广播稿
2014/10/04 职场文书
中学教师个人总结
2015/02/10 职场文书
小学教师岗位职责
2015/04/02 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
户外拓展训练感想
2015/08/07 职场文书
python基于turtle绘制几何图形
2021/06/15 Python
python中使用 unittest.TestCase单元测试的用例详解
2021/08/30 Python
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android