Home > Database > Mysql Tutorial > Analysis of How to Solve Mysql Startup Report ERROR: 2002

Analysis of How to Solve Mysql Startup Report ERROR: 2002

黄舟
Release: 2017-09-02 13:28:02
Original
1583 people have browsed it

This article mainly introduces to you the analysis and solution of the Mysql startup times ERROR: 2002 problem. The article analyzes the problem in great detail through the introduction of sample code, and has certain benefits for friends who also encounter this problem. Refer to the learning value, friends who need it can take a look below.

Preface

This article mainly introduces to you the analysis and solution of Mysql startup error ERROR: 2002, and shares it for your reference and study. Not much to say below, let’s take a look at the detailed introduction.

1. Fault phenomenon


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

2. Fault Analysis

View the status of mysql instance


##

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

View my.cnf socket configuration



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

That is to say, mysqld has claimed the correct sock file, but the client connection still looks for the sock file from the initial directory


Check the background log below. There is an ERROR, which is about the full query log. It is an error caused by the directory not existing and has nothing to do with the current fault.



[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
Copy after login

3. Solve the fault
##a. Solve it by configuring the my.cnf mysql option socket file location


Stop the mysql server first


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

Modify my.cnf as follows


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

Restart the mysql server


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

The connection is normal again


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

b. Establish a link method for the socket file


[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 |
+---------------+-----------------+
Copy after login

Summary

The above is the detailed content of Analysis of How to Solve Mysql Startup Report ERROR: 2002. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template