如何将文件从完整分区移动到空间更大的分区?

如何将文件从完整分区移动到空间更大的分区?

如何将文件从完整分区移动到空间更大的分区?

背景故事:

Centos7在安装时对1TB硬盘进行了分区。我没有意识到mysql安装和运行的分区只有50G。它达到了最大容量,现在 mysql 服务将无法启动,所以我不能简单地删除或截断表。运行后,我将在线搜索如何将 mysql 表保留在大分区上。我实际上不知道为什么 linux centos 需要这么多小分区或者它们的用途。我的 Linux 机器上没有互联网浏览器,所以我无法复制并粘贴df -h.

挂载的分区/只有50G,而挂载的分区/home还有800G空闲。

感谢您的帮助。

答案1

您应该将 的内容复制/var/lib/mysql到更大的分区上,从空间有限的分区中删除旧副本,并创建到新位置的软链接,以便/var/lib/mysql系统能够找到并使用新位置。

根据要求,这里是实际命令,但一如既往,请在运行rm命令之前格外小心(即,检查以确保您的文件已正确复制 - 例如,du -shx .在两个地方使用以检查总大小是否约为相同的):

mkdir /home/var-lib-mysql
cp -ax /var/lib/mysql/. /home/var-lib-mysql/
rm -rf --one-file-system /var/lib/mysql
ln -sf -T /home/var-lib-mysql/ /var/lib/mysql

当然,请记住,这是一种黑客行为,您应该避免创建字面上称为“var-lib-mysql”的用户帐户。

答案2

  • 创建“新分区”。
  • 将“新分区”安装到“备份”文件夹。
  • 将“/var/lib/mysql”的所有内容和权限复制到文件夹“backup”中。
  • 卸载文件夹备份。
  • 将“ew 分区”安装到“/var/lib/mysql”。

相关内容