With MySQL Enterprise Backup(MEB) 3.9.0 we had introduced
full instance backup feature for cloning the
MySQL server. Now with MEB 3.11.0 we have enhanced the feature by
copying all the master-slave setup files like MySQL server binary
logs(will be referred as 'binlogs'), binary log index files,
relay logs of slave, relay log index files, master info of slave,
slave info files. As part of full instance backup, copying of
binlog files is default behavior MEB-3.11.0 onwards. DBA should
be aware of the fact that current full instance backup is bigger
than the backups with old MEB's.
As every event on MySQL production database goes as a entry to
binlog files in particular format, binlog files could be huge.
Backing of huge binlog and/or relaylog files should not impact
the performance of MySQL server. Hence, all the binlog files, …
Introduction
Sometimes the best way to repair data issues and problems within a MySQL database is to restore only some of the tables from a backup. For example, suppose that some data was accidentally deleted from one table due to a software error, then the easiest way to recover the lost data might be to restore only one table from a backup. Previously this kind of partial restore was not supported by MySQL Enterprise Backup (MEB). However, MEB 3.11 introduces support for selective restore from backups created with the --use-tts option (or TTS backups).
TTS backups are backups that are created with the transportable tablespaces feature of InnoDB. These backups consist of InnoDB tables that …
[Read more]Introduction
MySQL Enterprise Backup (MEB) is a highly efficient tool for
taking backups of your MySQL databases. In the 3.11.0 release, we
are taking that one step further by introducing a new concept
called "optimistic" backup. Optimistic backup leverages the
patterns we saw frequently especially as related to very large
databases.
For backups the goals are:
1 - Quality and Consistency - the backup and more importantly the
restore just "works".
2 - Size, time, and overhead - like in the game of golf - low
score wins - for backups and for
restores.
3 - Flexibility – It’s not always one size fits all - whether how
the backup is run, where it goes,
how it is recovered.
With optimistic backup - we look at mostly the read aspects of your database to enable us to create a backup that is smaller, faster to backup, faster to …
[Read more]
I was recently asked about if MySQL Enterprise Backup would be
able to restore single databases.
My initial answer was that this was complicated, but might be
doable with the Transportable Table Space (TTS) option.
But first let's go back to the basics. A common way of working
with mysqldump is to get a list of databases and then loop
through the databases and dump the data and schema to a SQL file.
But both backups and restores will take a lot of time if the size
of the database grows. And it's a luke-warm backup at best
instead of a hot backup. So that's why we have MySQL Enterprise
Backup.
MySQL Enterprise Backup allows you to make a hot backup of InnoDB
tables by copying the datafiles while watching the InnoDB redo
log files.
On disk the data from the InnoDB storage engine consists of a
system tablespace (one of more ibdataX files), the redo log files
(iblogfileX) and zero or more …
MySQL Enterprise Backup(MEB) has been widely used as the most
efficient tool to take backups of huge databases. The storage of
backups can be done on-premises – viz, local hard disk, external
hard disk drives, network mounted disk. MEB can also stream
backups to tape by supporting different Media Management Software
like Symantec NetBackup, EMC2 and Oracle Secure Backup. Streaming
of backups can also be done using 'ssh' to another machine.
As data keeps growing, instead of expanding the storage, database
users are choosing to rely on the growing trend which is the
Cloud Storage.
A few facts about Cloud Storage:
1. Offers off-premises storage with AAA(Anytime, Anywhere
Access)
2. Sharing of data to make a collaborative effort.
3. Highly fault tolerant, durable and scalable and secure.
4. Cost-effective
To the benefit of our MySQL database users, Mysql …
MySQL 5.6 introduced a new feature called GTID (Global Transaction IDentifier) support in Replication. For every transaction that is committed on to the server, a GTID of the format :
server_uuid:transaction_id is written into the master's binary log.
This offers the following advantages:
-
Very helpful to set up a slave and create a replication setup.
-
User need not worry about fetching the master's binlog filename and position in the “CHANGE MASTER TO” command which is used to synchronise the slave with the master.
-
Applying GTIDs on slaves ensures consistency – since GTIDs are unique, it cannot be applied more than once on the server.
For a gtid enabled server, the following properties need to be set on both Master and Slave configuration files as shown below in …
[Read more]Ok, so I wanted to look into the new compression options of MEB 3.10.
And I would like to share my tests with you. Remember, they’re just this, tests, so please feel free to copy n paste and obtain your own results and conclusions, and should I say it, baselines, in order to compare future behaviour, on your own system.
An Oracle Linux 6.3 virtual machine with 3Gb RAM, 2 virtual threads, on a 1x quad core, windows laptop. Not pretty, but hey.
So, these tests are solely about backup. I’ll do restore when I get some *more* time.
First up, lets compare like with like, i.e. MEB version 3.9 & 3.10:
Let’s make this interesting, hence, want to use as much resources available as possible, read, write, process threads and number of buffers.
mysqlbackup --user=root --password=oracle --socket=/tmp/mysql5614.sock \ --backup-dir=/home/mysql/MEB/test --with-timestamp …[Read more]
Ok, so I wanted to look into the new compression options of MEB 3.10.
And I would like to share my tests with you. Remember, they’re just this, tests, so please feel free to copy n paste and obtain your own results and conclusions, and should I say it, baselines, in order to compare future behaviour, on your own system.
An Oracle Linux 6.3 virtual machine with 3Gb RAM, 2 virtual threads, on a 1x quad core, windows laptop. Not pretty, but hey.
So, these tests are solely about backup. I’ll do restore when I get some *more* time.
First up, lets compare like with like, i.e. MEB version 3.9 & 3.10:
Let’s make this interesting, hence, want to use as much resources available as possible, read, write, process threads and number of buffers.
mysqlbackup --user=root --password=oracle --socket=/tmp/mysql5614.sock \ --backup-dir=/home/mysql/MEB/test --with-timestamp …[Read more]
Introduction
MySQL Enterprise Backup (MEB) 3.10 introduces support for encrypted backups by allowing backup images, or single-file backups, to be encrypted. However, backups stored in multiple files in a backup directory can not be encrypted.
Any MEB command that produces a backup image can be optionally requested to encrypt it. The encrypted backup image can be stored in a file or tape in the same way as an unencrypted backup image. Similarly, any MEB command that reads data from a backup image accepts also an encrypted backup image. This means that encrypted backups can be used in all the same situations as unencrypted backup images.
MEB encrypts data with Advanced Encryption Standard (AES) algorithm in CBC mode with 256-bit keys. AES is a symmetric block cipher which means that the same key is used both for encryption and decryption. The AES cipher has been adopted by the U.S. government and it is now used worldwide. …
[Read more]In addition to my recent post, I just had to go into using the –use-tts for specific tables and selective backup sets.
As all my schemas were employeesn, I thought it would be a good idea to run:
mysqlbackup -uroot --socket=/tmp/mysql.sock --backup-dir=/home/mysql/MEB/restore \ --with-timestamp --use-tts --include=employees* backup
as I want all the tables. If I only wanted a specific table, say ‘salaries’ I could have done:
mysqlbackup -uroot --socket=/tmp/mysql.sock --backup-dir=/home/mysql/MEB/restore \ --with-timestamp --use-tts --include=employees*\.*salaries backup
and backup just the ‘salaries’ tables but from all the employeesn databases.
then.. be a mean little dba:
drop database employees; drop database employees10; drop database employees11; .. .. drop database employees2; drop database employees20; drop database …[Read more]