How do you implement a parallel algorithm for a software which
needs to be streamed to tapes?
How do you ensure that you have the capability to be able to tune
the level of parallelism for varying input and output devices and
varying levels of load?
These were some of the questions that we needed to answer when we
were trying to implement multi-threading capability for MySQL
Enterprise Backup (MEB).
The trivial way of achieving parallelism is by having the
multiple threads pick up the different files (in a file per
table) scenario. But this did not seem adequate because:
a) The sizes of these files (corresponding to the tables) could
be different and then one large file would limit the level of
parallelism since it would be processed by a single thread.
b) If you have to stream the backup how do you reconcile these
multiple files being streamed by separate threads? Large backups
are streamed directly to tape so it is …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
The MySQL Enterprise Backup 3.8.1 release's main goal was support MySQL 5.6 server. But also beyond that primary goal MEB team added some valuable new options and features to ensure you'll get most from the new features in 5.6 as well. At a glance, here are some of the highlights,
MEB copy of InnoDB undo log tablespaces
MySQL 5.6 introduces a new feature to store undo logs in separate files called as undo tablespaces for improved performance. These undo tablespaces are logically part of system tablespace. All the commands associated with MEB - "backup", "apply-log" and "copy-back" now take care of the undo tablespaces in the same way as they process the system tablespace. MEB now supports innodb_undo_directory[logs][tablespace] option variables. When backup is executed, undo datafiles (up to number specified by innodb_undo_tablespaces) are stored in same directory as the datafiles of system tablespace. During …
[Read more]Send to Kindle
Hi guys, today let’s learn about how to have a consistent backup
(snapshot)
First of all, in what situations do we use a snapshot?
1. Lets say that your production server now will have a replica, how do you do the first load of data in this slave? what was the master bin log position when you started the backup, during the backup process, does anyone wrote any query to db?
2. In case you want to implement an incremental backup strategy, you can take a snapshot once a week and in case you need to restore you server, you just restore the snapshot and apply the binary logs.
Then, let’s start.
To grantee this data integrity we will need 2 sessions open on master, first one to lock all databases, second one to do the copy
Then, let’s go:
Session 1:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
You will receive an output like this:
…[Read more]If you need to automate backups, you might wonder about the different techniques available to you.
With regards to scheduling backups using built-in features of
MySQL, you have two main options:
- Either run mysqldump (or mysqlbackup if you have an Enterprise licence) from an operating system scheduler, for example in Linux using "cron" or in Windows using the "Task Scheduler". This is the most commonly used option.
- Alternatively, use the Event Scheduler to perform a series of SELECT ... INTO OUTFILE ... commands, one for each table you need to back up. This is a less commonly used option, but you might still find it useful.
Scheduling mysqlbackup with cron
mysqldump is a client program, so when you run it, you run it from a shell script, or at a terminal, rather than inside a MySQL statement. The following statement backs up the sakila …
[Read more]How To Back Up MySQL Databases With mylvmbackup On Ubuntu 12.10
mylvmbackup is a Perl script for quickly creating MySQL backups. It uses LVM's snapshot feature to do so. To perform a backup, mylvmbackup obtains a read lock on all tables and flushes all server caches to disk, creates a snapshot of the volume containing the MySQL data directory, and unlocks the tables again. This article shows how to use it on an Ubuntu 12.10 server.
Let's say you have a database that stores not only current transactional data, but also historic data that's unchanging. In particular, you have a large table containing hundreds of gigabytes worth of last year's data, and it won't change. Having backed it up already, you don't need to back it up every time. Is there any way to exclude this table from a backup?
For InnoDB tables with innodb-file-per-table enabled (the default as of MySQL 5.6), MySQL Enterprise Backup supports this feature in inverse. Specifically, you can choose to include specific innodb-file-per-table tables in addition to those stored in the system tablespace.
In order to exclude a specific table, you need to provide a regular expression to the --include option that includes every table except the one you want to exclude. For example, in my sakila …
[Read more]Set Up Rsnapshot, Archiving Of Snapshots And Backup Of MySQL Databases On Debian
This howto will show you how to install and set up Rsnapshot, enable archiving of snapshots and how to back up MySQL databases on Debian.
Everybody knows the criticality of backup. You might have had your database dumped, data directory copied, flat files exported and even config and binary log files backed-up. But did you…
The post Is your backup complete? – backup MySQL users privileges / grants – pt-show-grants first appeared on Change Is Inevitable.
It was a great experience to attend the MySQL Connect Conference for the first time ever.
Personally I was very much enthralled to present about "How to make MySQL Backups" besides attending
different sessions to absorb more knowledge about the technical
prospects of MySQL. One of the agenda items in my presentation
was "MySQL Enterprise Backup" functionality and
features. There were total of 40 attendees in the session, who
were very much interested about the MySQL Enterprise Backup
product and gave positive feedback as well as areas of
improvements on our product. Some of our features brought lot of
excitement and smile amongst our customers including,
…
In MySQL Enterprise Backup 3.6, new option was introduced to support backup to tapes via SBT interface. SBT stands for System Backup to Tape, an Oracle API that helps to perform backup and restore jobs via media management software such as Oracle's Secure Backup (OSB). There are other storage managers like IBM's Tivoli Storage Manager (TSM) and Symantec's Netbackup (NB) which are also supported by MEB but we don't guarantee that it will function as expected for every release. MEB supports SBT API version 2.0
In this blog, I am primarily going to focus the interface of MEB and Symantec's NB. If we are using tapes for backup, ensure that tape library and tape drives are compatible.
Test Setup
1. Install NB 7.5 master and media servers in Linux OS. ( NB 7.1
can also be used but for testing purpose I used NB 7.5)
2. Install MEB 3.8 also in Linux OS.
3. Install NB admin console in your windows desktop and …