Moving a Large Number of MySQL Databases From One Server To Another
We had to move about 30 databases from one server that had run out of drive space to another server with enough drive space to last us a couple years (at current growth). The problem is that the old server didn't have enough space for the dump files (shutting down the server for the duration of the maintenance wasn't an option, so we couldn't copy of the database files) so we had to figure out a way to move them using mysqldump
.
Enter SSH
I love how easy SSH can make things. The quick fix for this problem was for us to pipe mysqldump
's output into SSH and then restore them on the remote server.
mysqldump -u username -p database | gzip -c | ssh username@hostname 'cat > ~/database.sql.gz'
We could have dumped the dump directly back to MySQL but because restoring these databases took upwards of an hour we found it easier to move them all over, run a script to restore them all, go home for the weekend, and look for errors on Monday.
Scott Keck-Warren
Scott is the Director of Technology at WeCare Connect where he strives to provide solutions for his customers needs. He's the father of two and can be found most weekends working on projects around the house with his loving partner.
Top Posts
- Working With Soft Deletes in Laravel (By Example)
- Fixing CMake was unable to find a build program corresponding to "Unix Makefiles"
- Upgrading to Laravel 8.x
- Get The Count of the Number of Users in an AD Group
- Multiple Vagrant VMs in One Vagrantfile
- Fixing the "this is larger than GitHub's recommended maximum file size of 50.00 MB" error
- Changing the Directory Vagrant Stores the VMs In
- Accepting Android SDK Licenses From The OSX Command Line
- Fixing the 'Target class [config] does not exist' Error
- Using Rectangle to Manage MacOS Windows