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

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

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

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

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

我要去做这个步骤:

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

这是正确的吗? 如我错了请纠正我

添加:

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

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

2-除非需要,否则应该优雅地停止使用kill -9

3-我认为你的意思是从第5步开始(我编辑问题)。

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

  1. 停止http服务器和PHP
  2. 以root身份login到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