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


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


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, or this

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 precise universe" >> /etc/apt/sources.list

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

Step 2(b). Create a script 

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

Test it
sh /home/bitnami/

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

Step 3. Done!

Check your Azure Storage for the backup .gz file.



Popular posts from this blog

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