multi-db: successful move

FYI, I want to say thanks to Andrew, and the rest of you for helping me on my move to multi-db.

One thing that made this process a little easier is that since we run on AWS/EC2, we were actually able to test this process on a separate instance of our install without having to worry about where to get a second box with the same specs. Once we had the new environment working, we were able to flip our public IP to point to the new instance and the upgrade was complete.

We ended up going with the 4096 hash, and we’re running a “single” mysql instance for accessing these databases. Actually we run a master/slave pair, we use the slave to do backups from once an hour, so our master stays live the whole time.

Our total maintenance window took just over 3 hours to do this move. The restore/migrate being the biggest chunk of time as it took about 1 hour 15 minutes for all of the migration from a single directory to 4096 directories to occur. Also since we needed to set up the master and the slave data areas, we had some extra time there. The 3 hours included taking it slow and double checking all our steps. We used a pilot/co-pilot mode with myself and another engineer live on the boxes and working together on IM as we executed each step of our deployment plan.

For what it’s worth, here’s the basic deployment plan we followed:

++++++++++++++++

Pre-Upgrade:

++++++++++++++++

* Make copy scripts

* Get multi-db configs built

* Change backup scripts to handle new db structure

* Fire up new instance of our server config

* set up multi-db config on new instance

* Verify that it’s working

++++++++++++++++

ON OLD MACHINE:

++++++++++++++++

* Display Under Maintenance site

* Shut down mysql

* run backup

* stop crons/backups, etc.

++++++++++++++++

ON NEW MACHINE:

++++++++++++++++

* Verify mysql is not running

* remove existing (test) mysql database data images

* Verify backup is complete

* run restore & migrate

* verify restore is complete

* start up mysql

* Make sure to grant privs to mysql/apache user account – this is an important step since we’ve added new databases from the migration process

* Verify new site is working

* startup crons

* redirect IP address to new instance

  • ZappoMan
    • Design Lord, Child of Thor

    I will mention that we had one small hiccup. We run bbPress as well as a couple instances of single instance wordpress as part of our product, as well as several custom tables related to the specific vertical of our application space (fitness)… apparently we missed a bunch of these tables in our original migration script, and so at first it looked like wpmu was working find but bbpress and the single instance wp’s were failing… this was a bit of a headache at first… and I was glad that we had the ability to “bail out” on the deployment if we needed to… But we figured it out eventually.

    We found only one place where our code did the badness of cross DB joins, and we were able to rewrite that code with only a couple lines of code to change.

    Anyway, thanks again. Me soooo happy!

  • balbaweb
    • New Recruit

    Hello,

    How to integrated BBpress with WPMU, so my user from WPMU no need to register for participate at BBPress Forum, I try to search on Google and find a view of tutorial and still not work.

    Please inform me if there is some tread for integrated BBPress with WMU

    Thanks

  • Luke
    • The Crimson Coder

    http://bbpress.org/documentation/integration-with-wordpress/

    Please note:

    a) Start new topics for new questions which do not already exist. You question was off topic from the original discussion in this thread.

    b) Please note the Support Policy for the forum here, as it is only intended for support of the offerings available through this site.

    c) Please also keep in mind the How to get support sticky as well, for future reference.

    :slight_smile: