您好,登錄后才能下訂單哦!
今天在為新的業(yè)務(wù)線搭架數(shù)據(jù)庫后,在啟動的時候報(bào)錯
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)
在此記錄一下,希望能夠給遇到此問題的兄弟們提供一個解決問題的思路,有了思路后一步一步排查問題就比較容易了,但是我這個問題比較奇怪,如果有了解的兄弟,還不吝賜教。
首先介紹一下此問題出現(xiàn)的環(huán)境:
操作系統(tǒng)為:Ubuntu 14.04.5
數(shù)據(jù)庫版本為:5.6.39-log
數(shù)據(jù)庫安裝方式為二進(jìn)制安裝
故障現(xiàn)象
數(shù)據(jù)庫初始化后啟動報(bào)錯
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)
故障排查
一看數(shù)據(jù)庫進(jìn)程是否啟動
如果數(shù)據(jù)庫進(jìn)程沒有啟動,也會報(bào)這個錯
進(jìn)程是存在的
二 看配置文件中socket文件的配置,并檢查socket文件是否存在,權(quán)限是否正確
配置文件中socket 文件的位置配置在/tmp/mysql.sock下
但是報(bào)錯中去/var/run/mysqld/mysqld.sock 位置找配置文件,說明配置文件并沒有生效,但是比如其他數(shù)據(jù)文件,日志文件的目錄已經(jīng)生效
三 看錯誤日志中是否提供了有價值的信息
查看錯誤日志中沒有相關(guān)的報(bào)錯
故障解決:
問題原因一直找不到,往上翻會話的時候看到數(shù)據(jù)庫初始化完成后有以下輸出,
難道是因?yàn)閿?shù)據(jù)庫啟動的時候讀了別的位置的配置文件?
我是按以下命令啟動的,已經(jīng)指定了配置文件的位置
./mysqld_safe --defaults-file=/etc/my.cnf &
查看/etc/mysql/my.cnf
確實(shí)是去找的該配置文件中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
再次進(jìn)入mysql命令行沒有報(bào)錯,問題解決
故障總結(jié)
可以用以下命令查看MySQL數(shù)據(jù)庫讀取配置文件的默認(rèn)順序,
其實(shí)現(xiàn)在我還是很納悶,為什么我制定了配置文件袋額位置還會讀取別的位置的配置文件呢?在數(shù)據(jù)庫初始化后的輸出有所體現(xiàn),
這是問題解決就是把其他路徑下的配置文件重命名
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。