起因
在阿里云上帮朋友部署一个公司网站,主要用来展示公司形象所用的。今天突然间网站不可以用了。我上去机器检查了一下,发现是数据库的问题,提示如下的错误:
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丢失问题解决。