4

我有一个 MySQL 数据库,它越来越大,我想将整个数据库移动到另一个安装点,那里有足够的存储空间。我希望传输我当前的数据,并将新数据保存到新位置。

软件堆栈:在 FreeBSD 6 上运行的 MySQL 5

4

3 回答 3

3
  • 停止 mysqld
  • 将 /var/lib/mysql(或 my.cnf 中的 $datadir 设置为)复制到新位置
  • 在旧的 $datadir 下挂载新位置或修改文件 my.cnf 中的 MySQL 配置以反映新位置。
  • 启动 mysqld

没有魔法。;) 但是您应该确保,您使用 MySQL 的文件复制所有权限。

于 2009-04-13T07:51:58.863 回答
3

当然,其他答案是有效的。但是,如果要保留默认配置,请执行以下操作:

  1. 停止 mysqld
  2. mv /var/lib/mysql /var/lib/mysql.backup
  3. 挂载你的新分区/var/lib/mysql
  4. cp -r /var/lib/mysql.backup /var/lib/mysql
  5. 启动mysqld
于 2009-04-13T08:05:55.603 回答
2

如果您可以容忍数据库因移动而关闭:

  1. 关闭 MySQL
  2. rsync 文件到新的挂载点
  3. 任何一个:
    1. 更改mysql.conf以告诉 MySQL 在哪里可以找到文件,或者
    2. 使当前目录成为新目录的符号链接
  4. 重启 MySQL
于 2009-04-13T07:50:56.777 回答