流浪汉破坏后保留流浪数据库数据

时间:2013-08-26 21:35:17

标签: ubuntu virtual-machine vagrant

在Vagrant销毁后保留数据库数据的最佳/可接受的做法是什么?

我应该为数据库数据创建共享文件夹吗?如果是这样(默认情况下)ubuntu存储这样的数据?

我忘了提及我的主机和客户操作系统'是Ubuntu,我指的是MySql

3 个答案:

答案 0 :(得分:4)

每当我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文件将mysqldump命令运行到单独的backup.sql文件。

mysqldump -u root database > /home/vagrant/db/backup.sql

答案 1 :(得分:2)

这取决于您使用的RDBMS。

对于Ubuntu上的MySQL,你可以简单地备份(tarrsync到远程主机)/ var / lib / mysql文件夹(当mysql没有运行时)及其配置文件{{ 1}}。

对于PostgreSQL,它类似,数据库文件通常在cd /etc/mysql下。请参阅File System level backup

  

注意:请避免使用默认/usr/local/pgsql/data在来宾和主机之间共享大量文件,因为它已知存在性能问题。

答案 2 :(得分:0)

在框外映射数据库数据似乎是一个很好的解决方案:

[Homestead] Ideas on persisting databases upon vagrant destroy