在 Vagrant 销毁后保留数据库数据的最佳/可接受的做法是什么?
我应该为我的数据库数据创建一个共享文件夹吗?如果是这样(默认情况下)ubuntu 将此类数据存储在哪里?
我忘了提到我的主机和来宾操作系统是 Ubuntu,我指的是 MySql
在 Vagrant 销毁后保留数据库数据的最佳/可接受的做法是什么?
我应该为我的数据库数据创建一个共享文件夹吗?如果是这样(默认情况下)ubuntu 将此类数据存储在哪里?
我忘了提到我的主机和来宾操作系统是 Ubuntu,我指的是 MySql
我需要一种方法来备份我的数据库,无论何时我vagrant destroy
使用实例或者如果盒子发生了某些事情,我需要终止进程从而丢失数据。我主要使用 CMS 系统,并且持久化后端数据库非常重要。
我已经共享了一个db
文件夹,其中包含配置时使用的 sql 文件。我安装了vagrant-triggers
插件,并让它在我运行vagrant destroy
命令时运行 mysqldump.sh 脚本文件。
config.trigger.before :destroy do
info "Dumping the database before destroying the VM..."
run_remote "bash /home/vagrant/db/mysqldump.sh"
end
mysqldump.sh 文件对单独的 backup.sql 文件运行 mysqldump 命令。
mysqldump -u root database > /home/vagrant/db/backup.sql
这取决于您使用的 RDBMS。
对于 Ubuntu 上的 MySQL,您可以简单地备份(tar
或备份rsync
到远程主机)/var/lib/mysql 文件夹(当 mysql 未运行时)及其配置文件/etc/mysql
。
对于 PostgreSQL,情况类似,数据库文件通常位于 cd 下/usr/local/pgsql/data
。请参阅文件系统级备份
注意:避免使用默认值
vboxsf
在来宾和主机之间共享大量文件,因为它存在已知的性能问题。
在框外映射数据库数据似乎是一个很好的解决方案: