如何避免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性能压力基准测试工具sysbench的使用简介
Apr 21 MySQL
mysql数据库入门第一步之创建表
May 14 MySQL
MySQL 十大常用字符串函数详解
Jun 30 MySQL
mysql 联合索引生效的条件及索引失效的条件
Nov 20 MySQL
MySQL读取JSON转换的方式
Mar 18 MySQL
mysql数据插入覆盖和时间戳的问题及解决
Mar 25 MySQL
MySQL创建管理RANGE分区
Apr 13 MySQL
Mysql排查分析慢sql之explain实战案例
Apr 19 MySQL
MySQL去除密码登录告警的方法
Apr 20 MySQL
MySql如何将查询的出来的字段进行转换
Jun 14 MySQL
SQLServer常见数学函数梳理总结
Aug 05 MySQL
SQL Server数据库的三种创建方法汇总
May 08 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 中的输出缓冲
2006/12/21 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php自动加载方式集合
2016/04/04 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
2018/05/31 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
JS实现json数组排序操作实例分析
2019/10/28 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
python 图片验证码代码
2008/12/07 Python
Python中关键字is与==的区别简述
2014/07/31 Python
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
python批量修改文件编码格式的方法
2018/05/31 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
结对共建协议书
2014/08/20 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
陪护人员误工证明
2015/06/24 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL