磁盘满了,如何移动mysql数据库文件?

磁盘满了,如何移动mysql数据库文件?

我的数据库文件位于/var/lib/mysql哪个分区/dev/sda5

此分区已满(请参阅此处了解详情

所以我要将数据库文件的位置从移动/var/lib/mysql/home/lib/mysql

移动此数据库文件的正确方法是什么?

我将执行以下步骤:

  1. 停止 http 服务器和 PHP
  2. 改变datadir=/var/lib/mysql成为datadir=/home/lib/mysql/etc/my.cnf
  3. 将所有数据库文件移动到新位置
  4. killall -9 mysql然后 运行/etc/init.d/mysqld start
  5. 启动http服务器和PHP

对吗?如果我错了,请纠正我

添加:

目前,mysql 不会停止。参考这里:mysql 不会停止,mysqld_safe 出现在顶部

答案1

1-在移动文件(步骤 3)之前,您应该停止 mysql 服务器(步骤 4)。

2-您应该正常地停止它,kill -9除非需要,否则不要使用它。

3-我认为您的意思是从步骤 5 开始。(我编辑了这个问题)。

4-您还需要检查文件的权限和所有权。

答案2

  1. 停止 http 服务器和 PHP
  2. 以 root 身份登录 mysql 并“刷新表”(如果刷新失败,您将需要修复一些表)
  3. 运行 killall -9 mysql
  4. 在 /etc/my.cnf 中将 datadir=/var/lib/mysql 更改为 datadir=/home/lib/mysql
  5. 将所有数据库文件移动到新位置
  6. 启动 mysql 服务器
  7. 检查表状态(从 phpmyadmin 或其他 GUI)
  8. 启动http服务器和PHP

相关内容