起因
在阿里雲上幫朋友部署一個公司網站,主要用來展示公司形象所用的。今天突然間網站不可以用了。我上去機器檢查了一下,發現是數據庫的問題,提示如下的錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket ' /tmp/mysql.sock' (2)
檢查
查看了/tmp/mysql.sock的確不見了;
tmp目錄的文件有存在被刪除的風險,接下來修改/etc/my.cnf 文件;
我把mysql.sock放在我的DB 的數據目錄下/usr/local/mysql/data/mysql.sock
我的配置文件:
[mysql]
# CLIENT #
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
# GENERAL #
port = 3306
user = mysql
default-storage-engine = InnoDB
socket = /usr/local/mysql/data/mysql.sock
pid-file = /usr/local/mysql/data/mysql.pid
skip-name-resolve
skip-external-locking
# INNODB #
innodb-log-files-in-group = 2
innodb-log-file-size = 64M
innodb-flush-log-at-trx-commit = 2
innodb-file-per-table = 1
innodb-buffer-pool-size = 256M
# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
max-connections = 256
thread-cache-size = 50
open-files-limit = 1024
table-open-cache = 400
# SAFETY #
max-allowed-packet = 16M
max-connect-errors = 1000000
# DATA STORAGE #
datadir = /usr/local/mysql/data
# LOGGING #
log-error = /usr/local/mysql/data/mysql-error.log
操作步驟
1.輸入指令“service mysql restart”,重啓mysql service。
2.確認是否有該文件,使用指令find / -name mysql.sock。
3.如果沒有該文件,這需要重新授權,新建該文件,mysql.sock丟失問題解決。