我们有一台 CentOS 机器,由于磁盘空间已满,MySQL 无法启动。
以下是df -h
结果。
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
47G 45G 0 100% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/xvda1 485M 33M 428M 7% /boot
/dev/mapper/VolGroup-lv_home
44G 180M 42G 1% /home
这种情况该怎么办?添加更多硬盘?
答案1
最简单、最快捷的选择是在/家并移动所有数据/var到该目录并创建软链接/var到/主页/var.步骤如下。
mkdir /home/var
停止所有服务。例如
/etc/init.d/mysqld stop
cp -pr /var/* /home/var
rm -rf /var
ln -s /home/var /var
start the services again
。
注意:您只能移动位于 /var/lib/mysql 的 mysql 数据并为其创建软链接。
答案2
你可以 :
添加硬盘
将 mysql DB 文件移动到其他 FS(就你的情况而言,只剩下 /home FS)
您可以调整 LVM 卷的大小,使 /home 更小或 / 更大(当然,一定要备份:))
这个选项最直接,但 LVM 强烈建议在调整大小之前备份数据
http://www.ibm.com/developerworks/linux/library/l-resizing-partitions-2/index.html
更新(根据评论)
如果我添加硬盘,我必须在 mysql 设置上进行哪些调整才能将数据扩展到硬盘?如果选项意味着我必须移动 mysql,那么需要采取哪些步骤?
很容易:
- 停止 mysql
- 打开 /etc/my.cnf 并找到数据目录=- 这是你的 mysql 数据文件
- 将它们复制/移动到您想要的新位置
- 更新数据目录=用你的新道路
- 启动 Mysql
- 喝杯啤酒或者其他你想喝的东西,因为你已经喝完了
扩展 /root 有多难?
阅读我已经发布的上述链接。其中包含分步指南和全面的解释。
主分区通常用于存储什么?有什么重要文件吗?
它包含用户文件和设置。例如您的桌面等。
对于系统健康来说/home并不重要,可以随时重新安装。
答案3
我建议,首先检查一下 /var/log 的大小。最好存档旧日志。它们可能会在您不注意的情况下堵塞您的根分区,而且大多数旧日志可能都没有必要。
答案4
mysql skip log bin,对我有用,启动时必须放在 my.cnf 文件中,仍然建议您经常运行备份。bin 日志可以从 var/lib/mysql 目录中删除。最后,可以调查您的访问日志、php 和 ssl 日志,特别是如果您在网站上运行插件,那么日志可以保留几天