我将大转储导入 mysql 并填满了我的整个空间(我真笨)。mysql 服务器是 virtualbox 虚拟机。它使用自动扩展虚拟硬盘。我在主机系统上释放了几 GB,但客户虚拟机仍然显示硬盘已满。Mysql 无法启动,因为 /var/lib/mysql 太满了。我该如何释放 /var/lib/mysql 以便 mysql 可以启动?
答案1
如果你不关心该目录中的任何数据,你可以删除该目录,
rm -rf /var/lib/mysql
并运行此命令来设置基本的 mysql 表:
mysql_install_db --user=mysql
或者,您可以cd
进入/var/lib/mysql
并删除文件夹和文件。MySQL / MYIASM 每个数据库使用一个目录,每个表使用几个文件(您可以在文件名中看到表名)。您可以删除它们。
我不确定直接删除文件是否 100% 安全。您应该删除文件,然后对mysqldump
要保留的剩余数据执行上述命令,然后重新创建所有数据。
答案2
根据您的设置,您有几个选项:a)如果您已打开复制或二进制日志,则可以将其关闭并移动/删除二进制日志以释放一些空间 - 这似乎是一个临时解决方案b)如果您使用 innodb,并且您有大量的 innodb 日志文件,您可以将它们调整为较小的大小 - 这对性能不太好,但会释放一些空间c)如果您使用 lvm,您可以尝试这些说明来扩展您的分区http://www.knd.com.au/stretching-the-lvm-on-a-vmware-debian-virtual-appliance-live/