mysql
在啓動時,若是出錯,每每出錯信息量較少。這使得咱們沒法準確的找到出錯的信息點。html
筆者由阿里雲自定義鏡像安裝FREEBSD系統後,啓動mysql
出現了ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
錯誤。表面上看,是說鏈接不到/tmp/mysql.sock
,實際上,是因爲mysql-server
沒有成功啓動,進而致使了/tmp/mysql.sock
未成功生成。mysql
mysql-server
安裝後,其安裝的位置爲 /usr/local/etc/rc.d
, 咱們進入其文件夾,並執行 ./mysql-server start
, 發生以下錯誤提示:./mysql-server: WARNING: failed precmd routine for mysql
。
這說明,mysql-server
的確沒有成功啓動,報了錯,但錯誤信息太寬泛,沒有實際的指導意義。sql
mysql-server的安裝位置: https://dev.mysql.com/doc/ref...
編輯 mysql-server
這個文件$ee mysql-server
注意須要root權限
而後找到下面的部分,並在/dev/null 2>/dev/null
及2>/dev/null
前加入#
。socket
mysql_create_auth_tables() { ... eval $mysql_install_db $mysql_install_db_args # >/dev/null 2>/dev/null ... } mysql_prestart() { ... if checkyesno mysql_limits; then eval `/usr/bin/limits ${mysql_limits_args}` # 2>/dev/null else return 0 fi ... }
此時,咱們再次執行./mysql-server start
將會看到具體的報錯信息,筆者的報錯信息以下:阿里雲
2018-03-21 14:06:54 1827 [Warning] Can't create test file /var/db/mysql/iZ2zehhwq5a6tp1zk5quhiZ.lower-test /usr/local/libexec/mysqld: Can't change dir to '/var/db/mysql/' (Errcode: 2 - No such file or directory) 2018-03-21 14:06:54 1827 [ERROR] Aborting
緣由是沒法將目錄定位至'/var/db/mysql/'
rest
遂創建了相關的文件夾,解決了相關問題。code
./mysql-server stop
從新編輯mysql-server
進行恢復./mysql-server start
server