解决MySQL报错ERROR 2002 (HY000)
今天在为新的业务线搭架数据库后,在启动的时候报错
root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
在此记录一下,希望能够给遇到此问题的兄弟们提供一个解决问题的思路,有了思路后一步一步排查问题就比较容易了,但是我这个问题比较奇怪,如果有了解的兄弟,还不吝赐教。
首先介绍一下此问题出现的环境:
操作系统为:Ubuntu 14.04.5
数据库版本为:5.6.39-log
数据库安装方式为二进制安装
故障现象
数据库初始化后启动报错
root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
故障排查
一看数据库进程是否启动
如果数据库进程没有启动,也会报这个错
进程是存在的
二 看配置文件中socket文件的配置,并检查socket文件是否存在,权限是否正确

配置文件中socket 文件的位置配置在/tmp/mysql.sock下
但是报错中去/var/run/mysqld/mysqld.sock 位置找配置文件,说明配置文件并没有生效,但是比如其他数据文件,日志文件的目录已经生效
三 看错误日志中是否提供了有价值的信息
查看错误日志中没有相关的报错
故障解决:
问题原因一直找不到,往上翻会话的时候看到数据库初始化完成后有以下输出,

难道是因为数据库启动的时候读了别的位置的配置文件?
我是按以下命令启动的,已经指定了配置文件的位置
./mysqld_safe --defaults-file=/etc/my.cnf &
查看/etc/mysql/my.cnf
确实是去找的该配置文件中socket的位置

将/etc/mysql路径下的配置文件重命名后
oot@qsbilldatahis-db01:/etc/mysql# cd /etc/mysql/
root@qsbilldatahis-db01:/etc/mysql# ls
conf.d my.cnf
root@qsbilldatahis-db01:/etc/mysql# mv my.cnf my.cnf_bak
再次进入mysql命令行没有报错,问题解决

故障总结
可以用以下命令查看MySQL数据库读取配置文件的默认顺序,

其实现在我还是很纳闷,为什么我制定了配置文件袋额位置还会读取别的位置的配置文件呢?在数据库初始化后的输出有所体现,
这是问题解决就是把其他路径下的配置文件重命名

解决MySQL报错ERROR 2002 (HY000)的更多相关文章
- 解决MySQL报错ERROR 2002 (HY000)【转】
今天在为新的业务线搭架数据库后,在启动的时候报错 root@qsbilldatahis-db01:/usr/local/mysql/bin# ./mysql ERROR 2002 (HY000): C ...
- mac 安装mysql 报错“ERROR 2002 (HY000): Can not connect to local MySQL server through socket '/tmp/mysql.sock' (2)” 解决办法
首先安装 homebrew 再 brew install mysql 之后连接 mysql 无论是登录还是修改初始密码都会报如下的错误 ERROR 2002 (HY000): Can not conn ...
- 长久不用的mysql报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
mac上安装过mysql: 然而,尝试连接时报错: $ mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to lo ...
- mysql 报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ ( ...
- 启动mysql报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
mysql之前还好好的,突然就启动不了了,我也很纳闷,原来是服务没有启动 netstat -ntlp 后,发现并没有启动 于是我试着启动mysql service mysqld start 查看了my ...
- MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong.
MySQL报错ERROR 1558 (HY000): Column count of mysql.user is wrong. 1.今天在使用MySQL创建数据库时出现如下报错: mysql> ...
- MySQL报错ERROR 1436 (HY000): Thread stack overrun:
今天搭私服的时候,卡在角色创建画面,日志报错如上. 这是MySQL报错ERROR 1436 (HY000): Thread stack overrun: 修改方法 vim /etc/my.cnf ...
- mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
1. 问题背景 InnoDB是新版MySQL(v5.5及以后)默认的存储引擎,之前版本的默认引擎为MyISAM,因此,低于5.5版本的mysql配置文件.my.cnf中,关于InnoD ...
- 【MySQL笔记】mysql报错"ERROR 1206 (HY000): The total number of locks exceeds the lock table size"的解决方法
step1:查看 1.1 Mysql命令行里输入"show engines:"查看innoddb数据引擎状态, 1.2 show variables "%_buffer% ...
随机推荐
- 用eclipse写jsp报以下错误
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ tag ...
- 【C#基础概念】vs2019 代码段
打开记事本,输入下面代码,然后把文件后缀改为.snippet .然后通过vs2019 工具>代码段管理导入. <?xml version="1.0" encoding= ...
- IntelliJ:JUnit单元测试
0.参考 在Intellij IDEA中添加JUnit单元测试 - 唐啊唐囧囧 - 博客园 1.引言 JUnit是Java中很出名的一个单元测试,关于JUnit的具体介绍,可以看之前写的编写JUnit ...
- Vue-router路由判断页面是否登录,未登录跳转到登录页面
在index.js中 //定义路由 const router = new Router({ routes, strict: process.env.NODE_ENV !== 'production', ...
- Jquery.Validate清除验证信息|laydate时间控件无法清除validate提示问题
最近做一个需求,用到模态框和Jquery.Validate验证框架: 点击添加时弹出模态框,当输入数据保存时如果数据不能通过校验,则会触发Validate验证并显示提示信息: 如果此时关闭弹出层,下次 ...
- Tableau绘制漏斗图、甘特图、瀑布图、镶边面积图、阴影坡度图
Tableau绘制漏斗图.甘特图.瀑布图.镶边面积图.阴影坡度图 本文首发于博客冰山一树Sankey,去博客浏览效果更好.直接右上角搜索该标题即可 一. 漏斗图 数据源 1.1 分色直条漏斗图 (1) ...
- Chaoter07 面向对象 (Object)
目录 Chapter07 面向对象 7.1 类与对象 7.1.1 对象在内存中的存在形式 (重要) 7.1.2 属性 / 成员变量 7.1.3 类与对象的内存分配机制(重要) Object03 Obj ...
- 安装CentOS 7
1.安装引导 首先要设置计算机的启动顺序为CD-ROM或USB 启动,保存设置后将CD放入光驱或插入USB,重新启动计算机. 计算机重启后显示有几个选项的引导菜单.如果在 60 秒内没有按任何键,则运 ...
- LGP4590题解
这题好像比较牛逼,好像又不是怎么样. 考虑两个串是如何计算 LCS 的. 这还不简单?\(dp[n][m]=\max(\max(dp[n-1][m],dp[n][m-1]),[s[n]==t[m]]d ...
- MATLAB2018a安装
1:同时选中进行解压 2:解压完后打开"setup.exe"进入安装步骤 3:选择"使用文件安装密钥" 4:接受条款,下一步 5:复制密钥 09806-0744 ...