如何解決Mysql啟動報ERROR:2002的分析

這篇文章主要給大家介紹了關(guān)于mysql啟動時報error:2002問題的分析與解決方法,文中通過示例代碼介紹將該問題分析的非常詳細(xì),對同樣遇到這個問題的朋友們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。

前言

本文主要給大家介紹了關(guān)于mysql啟動報ERROR:2002的分析與解決,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

1、故障現(xiàn)象

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

2、故障分析

查看mysql實(shí)例的狀態(tài)

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

查看my.cnf關(guān)于socket的配置

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

也就是說mysqld已經(jīng)聲稱了正確的sock文件,但客戶端連接還是從初始目錄去找sock文件

下面查看后臺日志,有個ERROR,是關(guān)于滿查詢?nèi)罩镜模怯捎谀夸洸淮嬖诙a(chǎn)生的錯誤,與當(dāng)前故障無關(guān)

[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選項(xiàng)socket文件位置解決

先停止mysql服務(wù)器

[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服務(wù)器

[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?|  +---------------+-----------------+

總結(jié)

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享