hello,

Seems you can check vagrant-triggers plugin, and run those commands either
before halt or destroy.

Alvaro.

On Wed, Mar 9, 2016 at 1:19 AM, Tom Butler <[email protected]> wrote:

> I want to be able to store MySQL's data on the host machine using a shared
> folder so when typing vagrant destroy then vagrant up, the data from MySQL
> is retained. This works fine for a httpdocs directory.
>
>
> I managed it in this way:
>
> - Stop the server
> - Copy the original mysql data from /var/lib/mysql to /var/lib/mysql-data
> - Stop the server from running on startup
> - Package the box
>
> Then mount a shared folder, ./mysql (host) to /var/lib/mysql on the guest
>
> and run a provisioning script that, on the guest:
>
> - Copies /var/lib/mysql-data to /var/lib/mysql
> - Starts the server
>
>
> This works fine, *most* of the time. However, sometimes the database gets
> corrupted. I'm not sure why this is but the ibdata1 file gets corrupted and
> becomes unrecoverable. I'm not sure why this is but it must be to do with
> stopping/starting the server and accessing the data folder across a shared
> folder. Obviously this isn't ideal.
>
> To fix this, I created a systemd unit that runs mysqldump and dumps the
> database to /vagrant/database.sql and then changed vagrant to import the
> database in the provisioning script.
>
> The systemd unit works and when shutting down the box without any shared
> folders set up, the database export is created before the server is shut
> down. However, when the .sql file is being written to a shared folder it's
> always zero bytes.  I am 90% sure this is because the vagrant halt command
> unmounts the shared folders and sends the shutdown signal. It's likely the
> shared folder is being umounted before the systemd shutdown script is run
> (or at least completed).
>
> Is there any way to avoid this and have it save/load mysql data on the
> host rather than the guest?
>
> --
> This mailing list is governed under the HashiCorp Community Guidelines -
> https://www.hashicorp.com/community-guidelines.html. Behavior in
> violation of those guidelines may result in your removal from this mailing
> list.
>
> GitHub Issues: https://github.com/mitchellh/vagrant/issues
> IRC: #vagrant on Freenode
> ---
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/vagrant-up/2aad586a-a7c7-426e-837a-1e98e7a4504a%40googlegroups.com
> <https://groups.google.com/d/msgid/vagrant-up/2aad586a-a7c7-426e-837a-1e98e7a4504a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
This mailing list is governed under the HashiCorp Community Guidelines - 
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of 
those guidelines may result in your removal from this mailing list.

GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
--- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vagrant-up/CAHqq0ewRc3%2BL1je6T9BX2dEu1Hbmy7K_0b-N69Mf%2BTYxqxwrJw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to