Backup MySQL to Azure Storage in 30 Seconds



Step 1. Disable password prompt for "mysqldump command"

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
1. Run "vi ~/.my.cnf"
2. Add the following lines

[mysqldump]
user=mysqluser
password=secret

3. For Bitnami, you'll need to append the following line in "/opt/bitnami/mysql/my.cnf"

!include ~/.my.cnf

4. Try running to see if the command works.
mysqldump --all-databases > /home/bitnami/backups/db-backup.sql




Step 2(a). Install Azure-CLI

Prerequisites:

Installing npm.

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
Note: If you facing issue while installing nodejs/npm on Ubuntu 12.04, you can refer to his article for alternative way to install https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/, or this http://stackoverflow.com/questions/16302436/install-nodejs-on-ubuntu-12-10#comment32247107_16303380

Install Azure CLI.

npm install azure-cli -g

Potential issues:

nodejs : Depends: rlwrap but it is not installable
Add universe packages to package list:
echo "deb http://archive.ubuntu.com/ubuntu precise universe" >> /etc/apt/sources.list
Source: http://stackoverflow.com/questions/16302436/install-nodejs-on-ubuntu-12-10#comment32247107_16303380

/usr/bin/env: node: No such file or directory
If you facing node not found issue, just run the following command. More info http://stackoverflow.com/a/20058007.
sudo ln -s `which nodejs` /usr/local/bin/node




Step 2(b). Create a backup-db.sh script 


Create the backup script.
vi /home/bitnami/backup-db.sh
Then copy the content from the code snippet below.



Test it
sh /home/bitnami/backup-db.sh

If if works, add to crontab. This will setup cron to backup, at midnight everyday.
(crontab -l ; echo "0 0 * * * /home/bitnami/backup-db.sh") | sort - | uniq - | crontab -



Step 3. Done!

Check your Azure Storage for the backup .gz file.







References:




Comments

Popular posts from this blog

225019099301.apps.googleusercontent.com

Generate GoDaddy SSL Certificate (.crt) for Azure Websites (.pfx)