While processing my inbox I noticed a Google ad for MySQL on the iPhone. Is anyone running this? I’d love to try but I got a G1.
For long time as main backup solution for MySQL on Linux we have been using LVM snapshots. Performance concerns from performance critical envinronment caused us to do LVM performance research which showed horrible results forcing us to look at more performing alternatives.
Innodb Hot Backup is a good working solution but it is not Open Source and so we can't ensure it will support all XtraDB features - extra undo slots, rollback segments etc.
After considering all alternatives we decided to develop Percona Xtrabackup tool, which will use same backup approach as InnoDB Hot Backup, that is taking online copy of InnoDB table files and transactional logs. This is going to be fully OpenSource, GPL licensed backup solution for MySQL (MyISAM and InnoDB for …
[Read more]Just noticed that the Drizzle list has had more messages since June last year (2008) than the mysql internals@ list has had since March 2006.
In my previous blog on Cloud Backup, I wrote about the solutions we offer to backup to the Storage Cloud (e.g. Amazon S3). In this blog I will talk about backup of cloud, i.e. backup of your applications running on a Compute Cloud (e.g. Amazon EC2).
Let’s say you are migrating some on-premises applications (e.g. a
customer facing enterprise app), which are currently being backed
up to a tape library, to the cloud (fig 1).
Clouds don’t have a notion of a local tape library. So, your current backup solution will likely not work after this migration.
So, where do you backup? Note that Compute Cloud vendors do not offer automatic backups. While they may offer storage redundancy features, e.g. replication and snapshots, these are not replacement for a complete backup solution.
You still need backup archives and a backup catalog for those …
[Read more]I've had the opportunity in the last few days to use quite a few cool little utilities that made my life considerably easier. I've known about most of them for awhile, but discovered some new tools or new uses for old tools and wanted to share two of them.
Are you having problems getting up to speed on MySQL? Are you asking yourself “Is there a hands-on training course we can send a developer/system admin to learn MySQL?”. In response, at 42SQL we have put together two new training courses, MySQL Essentials and MySQL Operations.
MySQL Essentials Training Details
With MySQL Essentials we tackle the core essentials that a developer/system admin/junior DBA would require in order to support an initial development environment that uses MySQL. Essentials training teaches the following skills:
- Which version of MySQL to use (including the various different variants and patches available)
- Backup, retention, and recovery strategies
- Configuration and Monitoring of MySQL
- Optimal schema and data objects configuration management
- …
Recently, I have been traveling a lot to the west coast (I live in Quebec) so I had plenty of time to update WaffleGrid while flying. Here are the new features/ports:
Dynamic memcached servers list Matt enhanced stats ported from the non-plugin InnoDB version CRC32 checksum for each element sent and retrieved from memcached Better thread protectionSo now, if you update the innodb_memcached_servers with a statement like “set global innodb_memcached_servers = ’serverA,serverB:11212′;” then MySQL will disconnect from the current servers and reconnect to the new ones. The key prefix is incremented to prevent cache coherency problems.
You might have noticed that Matt added many WaffleGrid statistic counters like shown here. Those counters have been ported to the InnoDB plugin version.
I also added a CRC32 checksum for each block sent to memcached, the …
[Read more]
If you are using InnoDB Hot Backup utility and the innobackup.pl
wrapper script, be very careful if you are not
running backups under the system mysql
user. There
is a bug which causes InnoDB Hot Backup to sometimes report a
successful backup when it actually failed.
The last few dozen lines of the output was from the backup was (after generalizing the db and table names):
InnoDB: File name /var/lib/mysql/data/dbname/TABLE_A.frm InnoDB: File operation call: 'stat'. 090210Â 3:55:00Â InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name /var/lib/mysql/data/dbname/TABLE_B.frm InnoDB: File operation call: 'stat'. 090210Â 3:55:00Â InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name …[Read more]
It’s a shame that MySQL does not provide better granularity when you want to look at all SQL statements being executed in a MySQL server. I canvas that you can with the general log, but the inherit starting/stopping problems in 5.0, improved in 5.1, but I would still like to see the option on a per connection basis, or even a time period. MySQL Proxy can provide a solution here but also with some caveats.
You should however in a NON production environment, take the time to enable the general log and look the SQL Statements. Prior to looking at the SQL, monitoring of the GLOBAL STATUS variables combined with Statpack revealed the following in a 1 minute interval.
==================================================================================================== Statement Activity …[Read more]
This neat one line command can be of interest when you are rebuilding a MySQL slave and replication is currently catching up.
$ watch --interval=1 --differences 'mysql -uuser -ppassword -e "show slave status\G"'
You will see the standard SHOW SLAVE STATUS output, but the watch command presents an updated view every second, and highlights differences. This can be useful in a background window to keep an eye on those ‘Seconds Behind Master’.
*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.10.10 Master_User: slave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000626 Read_Master_Log_Pos: 88159239 Relay_Log_File: slave-relay.000005 Relay_Log_Pos: 426677632 Relay_Master_Log_File: mysql-bin.000621 …[Read more]