Part 1 -
Installing Holland Backup ManagerI spoke at Percona Live
Conference and Expo 2013 about backups. Part of the talk focussed
on the backup products in the ecosystem that will help you make a
backup of your MySQL data. This follow-up article touches on one
of the frameworks from my talk, the Holland Backup Manager. I was
able to have a chat with some of the guys on the Rackspace booth
about Holland and had some questions regarding features
answered.
Holland is a backup framework focussing mostly on MySQL backups
but it is pluggable so you can write add backup providers to
extend it to your own needs. Using the framework you're able to
configure and deploy backup jobs of varying scope to multiple
machines. The framework which was originally developed at
Rackspace, currently supports mysqldump, lvm, xtrabackup and
pgdump (Postgres) also sqllite. The latest version is …
Sometimes we encounter odd application responses that seem to make no sense. One of these such issues is related to running virtual server instances (OS Containers not Para-Virtualized VMs) and attempting to back up their data to Amazon’s S3 cloud storage. For moderately sized virtual machines running MySQL databases or Python/PHP based websites and code repositories this can be an inexpensive, quickly provisioned, and easy way to provide disaster recovery backups in numerous geographic locations, since we generally want DR content to be located in a physically distant location. Nevertheless, we can encounter errors if using an S3 mount in a distance location from our server if the timezone/sync data is incorrect.
The commonly seen error is as follows – and it doesn’t give much information for troubleshooting and resolution.
WARNING: Upload failed: ([Errno 32] Broken pipe) WARNING: Retrying on lower speed (throttle=0.00) …[Read more]
Read the original article at Accidental DBA’s Guide to MySQL Management
So you’ve been tasked with managing the MySQL databases in your environment, but you’re not sure where to start. Here’s the quick & dirty guide. Oh yeah, and for those who love our stuff, take a look to your right. See that subscribe button? Grab our newsletter!
1. Installation
The “yum” tool is your friend. If you’re using debian, you’ll use apt-get but it’s very similar. You can do a “yum list” to see what packages are available. We prefer to use the Percona distribution of MySQL. It’s fully compatible with stock MySQL distribution, but usually a bit ahead in terms of tweak and fixes. Also if you’re …
[Read more]As I reported via Twitter late last week, we encountered an issue that got some of our mail delivery delayed by about a day and a half. I’ll explain more about what happened as I believe in openness on these matters, and also the experience has educational content for others.
Our mail server doesn’t have direct external interaction, it’s shielded by two relays that handle both the inbound MX and the outbound queue. This setup works remarkably well in terms of exposure to spam and other malicious activity. As previously discussed, it appears that it’s more difficult to make mail server infra more resilient without expending lots more time/effort and infrastructure expenditure. Just because of the way the common tools for mail delivery and imap are built, having two or more of each in a semi-active setup gets quite complex. Complexity is in itself a risk so it has to be considered in relation to the costs and risks of the …
[Read more]Since I have been discussing scripting lately I thought I would continue with another topic I touched on briefly - backups.
I have written and modified the following script over the last few years. I have used it (and continue to use it) with multiple clients. It uses Percona's Xtrabackup to take the backup (although it can be easily modified to use mysqldump instead).
First the script
-----------------------------------------------------------------------------------------------------------------
#!/bin/bash
SAVEIFS=$IFS
IFS=$""
day_of_week=`date +%a`
backup_dir=/mysql-backup/
logfile=/root/backup_log.txt
report=/tmp/report.txt
servername=slave1
email=bmurphy@paragon-cs.com
password=`cat /root/.ssh/.backup_password`
# run backup
echo ' ' > $report
echo 'The backup is now beginning:' >> $report
echo ' ' …
In a discussion today about backup strategy it was brought up that restorations of the backups are not made unless there is an emergency.
Huh.
So what happens when you have an emergency and find out that the backup wasn't made properly? Maybe a filesystem was corrupted. Maybe the wrong option was used for the backup tool. Who knows.
It is critical that you perform periodic, planned restorations of your backups. My recommendation is that you script a weekly restore of a full backup and AT LEAST quarterly you manually take one of your backups and perform a restore and then verify that it is working properly.
You will thank me later.
km
Read the original article at Ten things to remember about MySQL backups
- Use Hot Backups
Hot backups are an excellent way to backup MySQL. They can run without blocking your application, and save tons on restore time. Percona’s xtrabackup tool is a great way to do this. We wrote a how-to on using xtrabackup for hotbackups.
Use Logical BackupsJust because we love hot backups using xtrabackup doesn’t mean mysqldump isn’t useful. Want to load data into Amazon RDS? Want to isolate and load only one schema, or just one table? All these great uses make mysqldump indispensable. Use it in …
[Read more]Backups are an integral and very important part of any system. Backups allow you to recover your data and be up and running again, in the advent of problems such as system crashes, hardware failures or users deleting data by mistake. I had been evaluating backup solution for a while but to be honest I really wasn't satisfied with the solutions available until I came across XtraBackup and I am loving it since. In this post I intend on showing how to do backups and restores using XtraBackup.
Inspired by Baron's earlier post, here is one I hear quite frequently -
"If you enable innodb_file_per_table, each table is it's own .ibd file. You can then relocate the heavy hit tables to a different location and create symlinks to the original location."
There are a few things wrong with this advice:
- InnoDB does not support these symlinks. If you run an ALTER TABLE command, what you will find is that a new temporary table is created (in the original location!), the symlink is destroyed, and the temporary table is renamed. Your "optimization" is lost.
- Striping (with RAID) is usually a far better optimization. Striping a table across multiple disks effectively balances the 'heavy hit' access across many more disks. With 1 disk/table you are …
Percona XtraBackup 1.5-Beta is now available for download.
This release adds additional functionality to Percona XtraBackup 1.4, the current general availability version of XtraBackup.
This is a beta release.
Functionality Added or Changed
- Support for MySQL 5.5 databases has been implemented. (Yasufumi Kinoshita)
- XtraBackup can now be built from the MySQL 5.1.52, MySQL 5.5.7, or Percona Server 5.1.53-12 code bases (fixes bug #683507). (Alexey Kopytov)
- The program is now distributed as three separate
binaries:
- xtrabackup - for use with Percona Server with the built-in InnoDB plugin
- xtrabackup_51 - for use with MySQL 5.0 & 5.1 with built-in InnoDB
- xtrabackup_55 - for use with MySQL 5.5 (this binary is not provided for the …