Mysql 正在运行,但是使用 phpmyadmin 时没有响应,当我检查 mysqld.log 时它显示:
[root@dc /]# tail /var/log/mysqld.log
151111 8:58:21 [Note] /usr/libexec/mysqld (mysqld 5.5.46) starting as process 27664 ...
151111 8:58:21 [Note] Plugin 'FEDERATED' is disabled.
151111 8:58:21 InnoDB: The InnoDB memory heap is disabled
151111 8:58:21 InnoDB: Mutexes and rw_locks use GCC atomic builtins
151111 8:58:21 InnoDB: Compressed tables use zlib 1.2.3
151111 8:58:21 InnoDB: Using Linux native AIO
151111 8:58:21 InnoDB: Initializing buffer pool, size = 128.0M
151111 8:58:21 InnoDB: Completed initialization of buffer pool
151111 8:58:21 InnoDB: highest supported file format is Barracuda.
151111 8:58:22 InnoDB: Waiting for the background threads to start
当我检查磁盘使用情况时,我发现磁盘已满
[root@dc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 20G 19G 0 100% /
/dev/root 20G 19G 0 100% /
devtmpfs 32G 508K 32G 1% /dev
/dev/md3 1.8T 68M 1.7T 1% /home
tmpfs 32G 0 32G 0% /dev/shm
/dev/root 20G 19G 0 100% /var/named/chroot/etc/named
/dev/root 20G 19G 0 100% /var/named/chroot/var/named
/dev/root 20G 19G 0 100% /var/named/chroot/etc/named.conf
/dev/root 20G 19G 0 100%
/var/named/chroot/etc/named.rfc1912.zones
/dev/root 20G 19G 0 100% /var/named/chroot/etc/rndc.key
/dev/root 20G 19G 0 100% /var/named/chroot/usr/lib64/bind
/dev/root 20G 19G 0 100% /var/named/chroot/etc/named.iscdlv.key
/dev/root 20G 19G 0 100% /var/named/chroot/etc/named.root.key
答案1
您没有指定但可能想要的是调查占用了空间的内容,然后有选择地删除文件。
我倾向于通过查找超过一定大小的文件来做到这一点,从 100mb 这样的大文件开始:
find / -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
您可能还需要查看 logrotate 和 monit 之类的监控解决方案,以确保下次当其占用率达到 85% 时收到警告。
获取更多信息后进行编辑:
您的 MySQL 数据库大小超过 17GB。它位于一个大小为 20GB 的分区上。因此它已满。
您有一个几乎为空的 1.8 TB 分区:
/dev/md3 1.8T 68M 1.7T 1% /home
我建议将 MySQL DB 文件移动(或许先复制)到那里。这不能只用 mv 来完成,因此在执行此操作之前,请先了解正确的步骤。
就像“我的磁盘已满”一样,将 MySQL DB 移动到另一个磁盘或分区的问题也已经被解释过很多次了:
https://askubuntu.com/questions/224/how-to-i-move-mysql-data-files-onto-different-partition
答案2
尝试这个:
cd /
du -ks ./* | sort -n
了解大部分空间都用在了哪里。然后您可以深入研究以找到可以安全删除的内容,从而释放空间。