How to Backup MySQL to Filebase

Backup MySQL to Filebase S3 Storage

Introduction

Filebase is a new S3 compatible store provider on the market offering storage at a fraction of the price compaired to providers like AWS. You can get started with 5GB totally free and upgrade to 5TB of backup for $5 and there is no ingress or egress traffic costs. The system is build on a global network on storage providing total redundancy.

In this guide, we will show you how easy it is to backup MySQL to Filebase using SnapShooter. SnapShooter has a free plan for a single database, so you can get started totally for free, just bring the storage!

Table of Contents

  1. Signing Up for SnapShooter
  2. Start backup wizard
  3. SSH Setup
  4. Configure MySQL
  5. Configure Storage Filebase
  6. Configure Schedule
  7. Finish and Test

Sign up for SnapShooter

Signing up for SnapShooter is easy and free -- all you need is an email address.

Once you have an account, you can backup one resource for free daily, with options started from $9 to upgrade for larger resources limits and backup frequency. Click Free Trial in the top right Provide your name, email and a password.

Start backup wizard

Once into the dashboard, you will be greeted by a welcome screen showing you what backup offerings SnapShooter has available. For this guide select, MySQL.

SSH Setup Step

To perform a MySQL backup, you need to configure an SSH connection to a server you wish backups to pipe through; this is within your environment and acts like a jump box between SnapShooter and your MySQL.

1) Configure SSH Connection

You will be asked to provide details of an SSH connection to a server, depending on the backup type you may or may not need root access. (Root access is required when you want to do a file-based backup and backup the whole server)

Connect SSH with SnapShooter
  • Set the Backup name to something you will remember. e.g. Production MySQL
  • From the SSH server select an existing or provide the ssh host (ip or hostname), ssh port (default is 22), and the ssh user
  • Select an existing SSH key or let SnapShooter generate you a new one
How do I create a new User for SnapShooter?

If you wish to use a new user for backups on your server you can run the following commands as root:

adduser --disabled-password snapshooter 

This will generate a user without a password

1) Test SSH Connection

When you press Test and Connect SnapShooter will show the steps to install the key, this involves you pasting the SSH public key into the users authorized_keys

By Hand

  • SSH into your server
  • Copy the key we present you
  • On the server edit the authorized_keys file, Make sure you edit the correct users authorized keys. SnapShooter will provide you the normal path e.g. for user called SnapShooter /home/snapshooter/.ssh/authorized_keys

Copy Paste

We allow offer a single copy paste method

Copy and paste SSH Key
  • Select Single Copy Paste
  • Login to Server
  • Copy the command
  • Paste the command into SSH client connected to the server

Test

When you press test, SnapShooter will connect to your server via SSH to check the connection is good.

SnapShooter will also check the correct packages and libraries are installed on the server, MySQL, tar, curl, unwip, gzip

Common Errors

Permission Denied
1. snapshooter@staging.snapshooter.io: Permission denied (publickey).

This error normally means the server does not have the SSH key installed correctly, try following the steps again

Configure MySQL

Connection

The next step in the process is to configure MySQL backup.

MySQL Connection config
  • Provide your MySQL Host, if the database is on the same server as the ssh connection, you should use 127.0.0.1, if not change it to the host or IP of the MySQL instance
  • MySQL Port
  • MySQL User - You are free to use any user or configure a new one just make sure it it has read access to the databases you want backed up
  • MySQL password - Your password is stored encrypted and we use it to write a secure my.cnf file on your server

Once ready you can ask SnapShooter to test your MySQL details, we will connect to the database and check we have Auth access

Database

Next step we ask you to select the database you want to backup, depending on your plan features you might also be able to select all databases.

Choose Database

Configure Storage

You need to select the storage provider you wish for your backups to be stored with, we allow users to select from a range of providers and in the guide will focus on Filebase

If you have already setup the storage provider you want you can select it and proceed if not press Connect new External Storage

Creating a New Bucket

Create Filebase Bucket
  1. Login to your Filebase Accpimt
  2. Top right click the Create Bucket button )
  3. Choose a name - E.g. snapshooter
  4. Press Create bucket - Bucket should be created instantly
  5. Note down the Name

Getting keys

Create Filebase Keys
  1. Top Right press the cogs settings button and select settings
  2. Copy the Key and secret (if you don't you can't view them again and will have to regenerate them)

Attaching S3 to SnapShooter

Attach Filebase to SnapShooter
  1. Go back to SnapShooter
  2. https://snapshooter.io/dashboard/settings/storage/attach
  3. Choose a Friendly Name
  4. Select Filebase
  5. Select the correct spaces region selected before
  6. Paste in saved access key and secret access key
  7. Enter the correct bucket name
  8. Press save
  9. We will check the API key is valid and works before allowing you to save. Once complete your ready to setup and backup process that uses external storage :)

Configure Schedule

Scheduling is where the power and ease of use for SnapShooter shins.

Schedule

Setup Backup Frequency and timezone

You need to tell SnapShooter how often you wish to have backups, currently, we support up to hourly backups. You can also set Timezone and Daily backup time. We will then take your daily backup at this time/timezone and tag it as daily. If you have more than daily backups, we will offset the other backups on this.

Retention

Setup backup retention

With SnapShooter taking backups at the frequency you set you need to decide how many past backups you wish to keep.

Depending on when your backups start SnapShooter will tag them, Hourly, Daily, Weekly and Monthly (Weekly is your first on a Monday, Monthly is your first backup that happens on the 1st of the month)

When a backup is completed SnapShooter will then proceed to prune your backups based on your rules. This way we keep your backups in the most efficient way while also keeping a far horizon

Finished MySQL Setup

Your setup is now complete

Finished MySQL Setup

We recommend you test your new configuration by pressing the Backup Now Button, as backups happen in the background you can expect a small delay (20s) before the backup will start

Once you backup has completed you will be able to see it in the backup table

First MySQL backup to Filebase

Depending on your compression level and the size of the backup it may take time to complete. Every minute SnapShooter will go and check the process to see how far it has got. Using the Log button you can see the latest state the backup is in.

When the MySQL has completed you will be shown the restore guide for if you ever needed to recover the database

Start Backing up MySQL Today

Secure your MySQL to Filebase With SnapShooter

SnapShooter Backup Config Example