[Err]1114 The table 'xxx' is full 的解决办法

错误信息

[ERR] 1114 - The table 'th_exam_paper' is full

解决步骤

  • 查看服务器硬盘使用情况
df -h

image

  • 数据库所在位置空间已经百分之一百,准备迁移数据库文件

迁移mysql数据库文件到挂载盘
要将MySQL数据库文件迁移到其他挂载盘,你需要做的是将数据文件复制到新位置,并更新MySQL的配置文件以指向新的文件路径。以下是步骤和示例代码:

停止MySQL服务:

sudo systemctl stop mysql
复制数据文件到新的挂载盘。假设挂载盘的挂载点是/mnt/data,MySQL数据目录是/var/lib/mysql:
建议先zip -r /var/lib/mysql /mnt/mysql.zip
sudo mv /var/lib/mysql /mnt/data/
更新MySQL的配置文件。编辑/etc/mysql/my.cnf(路径可能因系统而异),找到datadir项,并将其更改为新的路径:

[mysqld]
datadir=/mnt/data/mysql
如果有必要,更新apparmor配置(如果你使用AppArmor)以包括新的数据目录。

如果有必要,更新mysql用户的权限,确保mysql用户可以访问新的文件路径。

重新启动MySQL服务:

sudo systemctl start mysql
确保在进行任何操作之前备份好你的数据,并检查文件权限和所有权以确保MySQL服务可以正确访问文件。如果你有大型的数据库,这个过程可能需要一些时间,并且在操作过程中最好避免中断服务。
  • 启动无误删除旧文件即可
posted @ 2024-04-28 09:29  无上至尊自然妙有弥罗  阅读(36)  评论(0编辑  收藏  举报