公司网上服务不能正常访问,通过排查是Mysql假死了(进程在,但是连接不了)
尝试各种启动,各种切换启动都不行。
service mysqld start
./mysqld start
报错/tmp/mysql.sock不存在,做 ln -s /xxx/mysql/tmp/mysql.sock.lock /tmp/mysql.sock
依然启动不了
查找磁盘空间,果然被占满了
[root@iZwz94e670ya40lu9x59gcZ tmp]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 41151808 2648980 36389396 7% /
devtmpfs 16379900 0 16379900 0% /dev
tmpfs 16390496 0 16390496 0% /dev/shm
tmpfs 16390496 676 16389820 1% /run
tmpfs 16390496 0 16390496 0% /sys/fs/cgroup
/dev/vdb 515930552 426064384 426064384 100% /xxx
tmpfs 3278100 0 3278100 0% /run/user/0
tmpfs 3278100 0 3278100 0% /run/user/1001
删除 多余mysql备份文件
还不够
mysql/bin/mysql-bin.000xxx类似的文件占用很大的空间,这些文件都是数据库的操作日志文件,可以清除掉。清除方法:
在cmd下进到mysql下的bin目录下,输入mysql -u root -p;然后输入密码,成功进去后输入 reset master。
mysql> reset master;
Query OK, 0 rows affected, 1 warning (0.20 sec)
这样就删除了日志文件,如果你不希望生成这些日志文件可以这样操作:
打开mysql目录中的my.ini,找到log-bin=mysql-bin然后注释掉就可以了。
#log-bin=mysql-bin
最后查看 /var/log/mysqld.log 发现 有几个mysql/bin/mysql-bin.000xxx 不属于mysql组mysql用户,导致打开不了。
最后得出总结,先查看 /var/log/mysqld.log 可以避免好多弯路!!!