這篇文章主要給大家介紹了關(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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END