如何避免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 相关文章推荐
SQL注入的实现以及防范示例详解
Jun 02 MySQL
mysql中between的边界,范围说明
Jun 08 MySQL
解析MySQL binlog
Jun 11 MySQL
MySQL中存储时间的最佳实践指南
Jul 01 MySQL
MySQL分区表实现按月份归类
Nov 01 MySQL
防止web项目中的SQL注入
Dec 06 MySQL
Mysql分库分表之后主键处理的几种方法
Feb 15 MySQL
Mysql外键约束的创建与删除的使用
Mar 03 MySQL
MySQL如何快速创建800w条测试数据表
Mar 17 MySQL
Mysql使用全文索引(FullText index)的实例代码
Apr 03 MySQL
MySQL提取JSON字段数据实现查询
Apr 22 MySQL
MySQL 原理与优化之Update 优化
Aug 14 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
一个ftp类(ini.php)
2006/10/09 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
PHP $_FILES函数详解
2011/03/09 PHP
php 文件上传类代码
2011/08/06 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python实现定时发送qq消息
2019/01/18 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python如何实现远程方法调用
2020/08/07 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
"序列点" 是什么
2016/07/29 面试题
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
企业文化标语口号
2014/06/09 职场文书
单位工作证明
2014/10/07 职场文书
小学生成绩单评语
2014/12/31 职场文书
公司借条范本
2015/05/25 职场文书
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript