移动数据文件夹并驱动mysql centos


11

我需要将数据移动到其他文件夹并在我的cent os db服务器上驱动。

我添加了新的硬盘驱动器(因为空间不足),

我有一个1TB的硬盘驱动器,我有一个新的2TB,我想将数据放在同一台服务器上(托管在数据中心中的专用服务器)

我想知道在不丢失任何数据的情况下迁移数据的简便方法是什么?

目前,我的数据位于:/var/lib/mysql/cent os。mysql version is 5.1


@abdelsaid否,即时通讯使用myisam

Answers:


13

第1步

首先设置驱动器(假设它已安装并在fstab中正确设置),然后创建新的MySQL目录:

sudo mkdir /path/to/new/mysql

确保此文件夹具有正确的权限:

chown -R mysql:mysql /data/mysql

现在,您可以在复制数据时关闭服务。将数据从当前数据目录复制到新数据目录,例如:

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

或者,如果您愿意或可以放心的话,可以分别复制每个数据库,可以使用以下mv命令移动文件夹。

第2步

您可以在中更改MySQL数据的位置my.cnf。如果您不知道此文件在哪里,可以运行以下命令:

locate my.cnf

这将为您提供my.cnf所在的路径。然后编辑文件:

sudo vi /etc/mysql/my.cnf (当然,您必须替换路径)

现在寻找datadir = /var/lib/mysql并更新至datadir = /path/to/new/mysql

然后重启mysql

sudo /etc/init.d/mysqld restart

几天/几周后,如果您感到舒适,则可以删除旧文件夹(/ var / lib / mysql)或备份其中的所有内容。


0

如果您不想在迁移过程中关闭,我会在其中包含mysql(相同版本)的2tb上设置到chroot环境的主-主复制,然后在同步时关闭1tb,然后您就可以使用chroot环境。

如果您不想使用chroot环境,请更改my.cnf(而不是chroot),指向要在2tb磁盘上存储mysql文件并禁用复制的位置。然后关闭chroot环境,并将数据移动到my.cnf中的内容,此处移动甚至不需要一秒钟,因为它位于同一磁盘上。重启mysql。

这有点复杂,您可以先在本地虚拟机环境中使用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.