解决MySQL报错ERROR 2002 (HY000)【转】
今天在為新的業務線搭架數據庫后,在啟動的時候報錯
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)
在此記錄一下,希望能夠給遇到此問題的兄弟們提供一個解決問題的思路,有了思路后一步一步排查問題就比較容易了,但是我這個問題比較奇怪,如果有了解的兄弟,還不吝賜教。
?
首先介紹一下此問題出現的環境:
操作系統為:Ubuntu 14.04.5
數據庫版本為:5.6.39-log
數據庫安裝方式為二進制安裝
?
故障現象
數據庫初始化后啟動報錯
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)故障排查
一看數據庫進程是否啟動
如果數據庫進程沒有啟動,也會報這個錯
進程是存在的
二 看配置文件中socket文件的配置,并檢查socket文件是否存在,權限是否正確
配置文件中socket 文件的位置配置在/tmp/mysql.sock下
但是報錯中去/var/run/mysqld/mysqld.sock 位置找配置文件,說明配置文件并沒有生效,但是比如其他數據文件,日志文件的目錄已經生效
三 看錯誤日志中是否提供了有價值的信息
查看錯誤日志中沒有相關的報錯
?
故障解決:
問題原因一直找不到,往上翻會話的時候看到數據庫初始化完成后有以下輸出,
?
難道是因為數據庫啟動的時候讀了別的位置的配置文件?
我是按以下命令啟動的,已經指定了配置文件的位置
./mysqld_safe --defaults-file=/etc/my.cnf &查看/etc/mysql/my.cnf
確實是去找的該配置文件中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再次進入mysql命令行沒有報錯,問題解決
?
?
故障總結
可以用以下命令查看MySQL數據庫讀取配置文件的默認順序,
其實現在我還是很納悶,為什么我制定了配置文件袋額位置還會讀取別的位置的配置文件呢?在數據庫初始化后的輸出有所體現,
這是問題解決就是把其他路徑下的配置文件重命名
?
轉自
解決MySQL報錯ERROR 2002 (HY000)-11774929-51CTO博客 http://blog.51cto.com/11784929/2094722
轉載于:https://www.cnblogs.com/paul8339/p/9801872.html
總結
以上是生活随笔為你收集整理的解决MySQL报错ERROR 2002 (HY000)【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows php exec()不生
- 下一篇: python-day2~3