Before launching into this, I must give due deference to Mogens Nørgaard’s landmark article, You Probably Don’t Need RAC (YPDNR), available here, but originally published Q3 2003 in IOUG Select Journal. Mogens showed that you can be a friend of Oracle without always agreeing with everything they do. At Blue Gecko, many of our remote … [Read more...]
MySQL Editions and Support- what do I get with community?
The new licensing that was announced by Oracle earlier this month caused some FUD in the community that was addressed last week in an updated graphic comparing support and binary options and blog post from Oracle. However, one of our customers sent me this earlier this week – We are now re-evaluating whether we want to renew our MySQL … [Read more...]
Defining MySQL Backup Strategies
Backups may seem like a complicated subject, but they can be simplified into one multi variable question. What $DATA is so important that you don’t feel you could be missing it for $TTR and you can’t lose more than $RPO of it? I am using the acronyms TTR to represent the time to recovery objective and RPO to represent the recovery point … [Read more...]
Semi-Synchronous Replication in MySQL 5.5
As I was digging into the change logs for MySQL 5.5 and the replication substructure, I ran into the new features of semi-synchronous replication. This is implemented in MySQL 5.5 with the master database blocking and not returning the session after writing to the binary log unless a slave (which has also identified itself as running … [Read more...]
DBD::mysql 4.018 released
Dear Perl and MySQL developers, admins and enthusiasts, I'm please to announce the release of DBD::mysql 4.018! This release includes some code cleanups, added documentation as well as new features (database handle attributes) that allow you to be able to ascertain the server and client versions (Thank you to Robert M. Jansen). An example below, … [Read more...]
InnoDB tablespace fragmentation (find it and fix it!)
If you frequently delete rows (or update rows with variable-length data types), you can end up with a lot of wasted space in your data file(s), similar to filesystem fragmentation. If you're not using the innodb_file_per_table option, the only thing you can do about it is export and import the database, a time-and-disk-intensive procedure. … [Read more...]
DBD::drizzle .301 released
Dear Perl and Drizzle developers, I’m pleased to announce the release of DBD::drizzle .301! This release implements several fixes: * Eric Day’s fix to a bug where a result can be NULL after error. * A lot of reworking of column_info() to utilize Drizzle’s DATA_DICTIONARY and INFORMATION_SCHEMA as opposed to describe and show … [Read more...]
Debugging Stored procedures
Over the past several weeks, we've been working on debugging a stored procedure bug for a client. Coming from a software development background, I looked at the procedure like any piece of code -- how can I debug the program and be able to use some means of knowing the values within the program while it's running? In C, I've always used GDB, as … [Read more...]
Open DB Conference Roundup
There are a few things to note RIGHT NOW for those of us in the world of open databases. The MySQL User Conference has opened their call for proposals and the IOUG Collaborate11 call for proposals closes tomorrow 10/1! Get your proposals in. OpenSQLCamp is 10/15 -> 17 and BG is sending Patrick as I mentioned earlier this week. If you're in … [Read more...]
Report from Oracle Openworld
Openworld 2010, despite the supposedly lagging economy, had record attendance again this year. No doubt this was the result of Oracle acquiring something like fourteen companies since last year, including Sun in 2009. The crowds were thick, divided about evenly between geeks in badly-fitting vendor t-shirts and slick sales-side hustlers with … [Read more...]
Recovering a Schema From InnoDB .frm Files
Sometimes you find yourself in a bad situation where your only hope of recovering your InnoDB data lies in a handful of .frm and .ibd data files that were heretofore part of a working MySQL installation. It could be the case that someone thought backing up InnoDB tables was simply a matter of of copying the .ibd and .frm files somewhere safe. … [Read more...]
Introducing the Bluegecko MySQL Training AMI
I created the Bluegecko MySQL training AMI as a MySQL sandbox that folks could use to learn things about MySQL. I wanted the AMI to have MySQL 5.0, and a large collection of tools — for both tinkering and visualizing what is happening inside MySQL and on the system in general. I chose to host the AMI on a small instance since they’re … [Read more...]
Top 10 favorite realizations of the 2010 MySQL Conference and User Expo
10. a swarm of geeks storming a hotel bar is awe inspiring 09. openly shared information is a beautiful thing 08. i got to be star struck when meeting and greeting luminaries 07. only to find out they know about my comany/projects/name 06. met clients/peers/vendors whom i only knew via email/im/twitter … [Read more...]
Ignite MySQL at the MySQL Conference and Expo
I'll be giving a talk tonight at the Ignite MySQL! For those of you who don't know about this format, I suggest that you check out Ignite!. The basic premise is: Fast-paced, fun, thought-provoking, social, local, global—Ignite is all of these and more. It's a high-energy evening of 5-minute talks by people who have an idea—and the guts to get … [Read more...]
Blue Gecko is an official Drizzle sponsor
We're pleased to announce that Blue Gecko is providing hosting and some technical support for Drizzle! Drizzle is a community-driven project based on the popular MySQL DBMS that is focused on MySQL's original goals of ease-of-use, reliability and performance. For more information go to http://drizzle.org. … [Read more...]