Mysql 启动时 报ERROR 2002,分析解决、

1、故障现象

[root@localhost scripts]# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)

2、故障分析

查看mysql实例的状态

[root@localhost scripts]# netstat -ntlp  | grep 3306
tcp        0      0 :::3306                    :::*                        LISTEN      13001/mysqld

查看my.cnf关于socket的配置

[root@localhost scripts]# more /etc/my.cnf |grep sock
socket = /tmp/mysqld.sock

也就是说mysqld已经声称了正确的sock文件,但客户端连接还是从初始目录去找sock文件

下面查看后台日志,有个ERROR,是关于满查询日志的,是由于目录不存在而产生的错误,与当前故障无关

[root@localhost scripts]# more SZDB.err
            ............
2014-10-11 13:17:21 13001 [Note] InnoDB: 5.6.12 started; log sequence number 1625997
/app/soft/mysql/bin/mysqld: File '/log/mysql_logs/slowquery.log' not found (Errcode: 2 - No such file or directory)
2014-10-11 13:17:21 13001 [ERROR] Could not use /log/mysql_logs/slowquery.log for logging (error 2). Turning logging off for the who
le duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
2014-10-11 13:17:21 13001 [Note] Server hostname (bind-address): '*'; port: 3306
2014-10-11 13:17:21 13001 [Note] IPv6 is available.
2014-10-11 13:17:21 13001 [Note]  - '::' resolves to '::';
2014-10-11 13:17:21 13001 [Note] Server socket created on IP: '::'.
2014-10-11 13:17:21 13001 [Note] Event Scheduler: Loaded 0 events
2014-10-11 13:17:21 13001 [Note] /app/soft/mysql/bin/mysqld: ready for connections.
Version: '5.6.12-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
#Author :Leshami
#Blog  : http://www.linuxidc.com

3、解决故障

a、通过配置my.cnf mysql选项socket文件位置解决

先停止mysql服务器

[root@localhost scripts]# systemvtl restart mysqld
Shutting down MySQL.[  OK  ]

修改my.cnf,如下

[root@localhost scripts]# vi /etc/my.cnf
[mysql]
no-auto-rehash
socket = /tmp/mysqld.sock  #添加该行

重启mysql服务器

[root@localhost scripts]# systemctl restart mysqld 
Starting MySQL..[  OK  ]

再次连接正常

[root@localhost scripts]# mysql -uroot -p
Enter password:
mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| version      | 5.6.12-log |
+---------------+------------+

b、为socket文件建立链接方式

[root@SZDB mysqldata]# ln -s /tmp/mysql.sock /data/mysqldata/mysql.sock
ln: creating symbolic link `/data/mysqldata/mysql.sock' to `/tmp/mysql.sock': File exists
[root@SZDB mysqldata]# rm mysql.sock    #上面提示文件存在,所以删除之前的mysql.sock文件
[root@SZDB mysqldata]# ln -s /tmp/mysql.sock /data/mysqldata/mysql.sock
[root@SZDB mysqldata]# ls -hltr mysql.sock
lrwxrwxrwx 1 root root 15 Oct 11 14:00 mysql.sock -> /tmp/mysql.sock
[root@SZDB mysqldata]# mysql -uroot -p
Enter password:
mysql> show variables like 'socket';
+---------------+-----------------+
| Variable_name | Value          |
+---------------+-----------------+
| socket        | /tmp/mysql.sock |
+---------------+-----------------+

原创文章,作者:N27_Danry,如若转载,请注明出处:http://www.178linux.com/85634

(0)
N27_DanryN27_Danry
上一篇 2017-08-29 15:28
下一篇 2017-08-29 17:40

相关推荐

  • iptables之nat

    NAT网络地址转换SNAT:修改IP报文中的源IP地址 本地向互联网请求让本地网络中的主机可使用统一地址与外部通信,从而实现地址伪装请求:修改源IP,如果修改则由光梨园定义响应:修改目标IP,由nat自动根据会话表中追踪机制实现相应修改DNAT:修改目标地址转换 外网服务器向其他客户端请求请求:由外网主机发起,修改其目标地址,由管理员定义相应:修改源地址,但…

    2017-11-12
  • 在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件

    在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看输出结果 复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。 …

    Linux干货 2016-11-06
  • Linux 文件系统权限

    一、简述权限  文件系统的权限管理机制的建立,约束了用户对数据的操作。 1、对系统安全而言  管理员的操作权限非常大,足以破坏系统,权限机制将管理员与普通用户之间区分开,防止系统被随意破坏。 2、对用户而言  Linux是一个多用户的操作系统,不同用户间为了防止其他人破坏数据或访问数据,文件系统的权限管理是非常必要的。 二、文件…

    Linux干货 2016-08-04
  • 浅谈群红包的实现

    前言:红包是支付的方式, 也是社交的延伸。群红包在这两块领域串联得很好, 表现尤为的浓墨重彩. 承接上两篇技术浅谈:1). 浅谈接龙红包的技术实现.2). 浅谈微信红包摇一摇的技术实现.这一次, 让我们谈谈群红包的技术实现. 一为是红包的分配算法, 二为竞抢的技术实现. 分配算法:最初玩群红包的时候, 并没有意识到分配算法的难度…

    Linux干货 2015-03-10
  • Linux之网络管理

    Linux之网络管理     在学习linux的过程中,Linux网络的管理和配置中是很重要的,几乎学习的后期都离不开网络的概念和配置,如集群中的使用,学习好Linux网络至关重要。     Linux网络IP地址有两种配置方式:静态指定和动态分配 动态分配就是利用DHCP服务器,动态的给linux主机分配IP地址。静…

    Linux干货 2016-09-05
  • Linux 第11&12天: Linux软件包管理

    Linux 第11&12天: Linux软件包管理      在系统管理中, 软件包的管理是最重要的, 是系统管理的基础,   本文主要是记录内容有: RPM二进制包的管理,YUM二进制包的管理, 源代码包的管理   软件运行环境API:Application Programming Interfac…

    Linux干货 2016-08-22