如何避免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 相关文章推荐
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
MySQL数据库压缩版本安装与配置详细教程
May 21 MySQL
MySQL系列之开篇 MySQL关系型数据库基础概念
Jul 02 MySQL
mysql自增长id用完了该怎么办
Feb 12 MySQL
MySQL学习之基础操作总结
Mar 19 MySQL
mysql使用 not int 子查询隐含陷阱
Apr 12 MySQL
MySQL去除密码登录告警的方法
Apr 20 MySQL
MySQL详解进行JDBC编程与增删改查方法
Jun 16 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
Jul 15 MySQL
MySQL索引失效场景及解决方案
Jul 23 MySQL
MySQL存储过程及语法详解
Aug 05 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
substr()函数中文版
2006/10/09 PHP
PHP提取中文首字母
2008/04/09 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
Laravel中9个不经常用的小技巧汇总
2019/04/16 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
jQuery实现ajax回调函数带入参数的方法示例
2018/06/26 jQuery
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
2019/05/30 NodeJs
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python 写的一个爬虫程序源码
2016/02/28 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
工程力学硕士生的自我评价范文
2013/11/16 职场文书
新护士岗前培训制度
2014/02/02 职场文书
大学活动总结格式
2014/04/29 职场文书
倡议书格式模板
2014/05/13 职场文书
高中学生自我评价范文
2014/09/23 职场文书
出纳岗位职责
2015/01/31 职场文书
超级礼物观后感
2015/06/15 职场文书
导游词之无锡梅园
2019/11/28 职场文书
go语言map与string的相互转换的实现
2021/04/07 Golang
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js