In this month’s Database Journal piece we look at the spectrum of MySQL storage engines available, and examine what some of their strengths and weaknesses are.
View the article here: Survey of MySQL Storage Engines
I recently presented a webcast hosted by O’Reilly and Webex. In it I take you on a step-by-step installation of DRBD and MySQL. I start by using Sun’s Virtualbox to create to virtual machines running CentOS. I then explain how to configure them with virtual external drives to use for DRBD. I next configure the [...]
In the last of our three part series on MySQL high availability we discuss the Linux Heartbeat project, and how it can be used to automate failover between two MySQL databases.
Heartbeat exposes a virtual IP address for use by the database, and manages it as well. In the event that one server becomes unavailable, Heartbeat [...]
Our 64th newsletter issue is just out. In it we discuss different perspectives, and how they shape what we value as important. Understanding how each person, each client, each party at the table sees things, and values things differently is the first step in being able to deliver and speak directly to their needs.
View – [...]
Everyone has experienced the phenomenon of dealing with their savings or checking account banks. When they deposit a check, the bank is quick to credit, while when they write a check, they are slow to debit. This is a phenomenon of accounting, ie take in money as quickly as possible, but dole it out as [...]
In part two of our article on DRBD and High Availability, we take you step-by-step through setting up Sun’s Virtualbox software, creating a couple of VMs, and then installing CentOS on those. These two virtual Linux boxes then serve as two nodes in our DRBD mirrored disk setup which we use as a platform to [...]
With all the trouble keeping MySQLs built-in replication running, some folks are looking for alternatives. DRBD provides a distributed block level device, which can provide the sort of database mirroring we need, below the filesystem. That makes it transparent to MySQL, but nevertheless a great complimentary solution. In this article we’ll discuss the pros and [...]
In our last newsletter of the decade we discuss the importance of context. Whether it is in user interface design such as priorities in the iphone and feature development, or the numbering of apartments in a new building complex, the perspective or context within which designers, architects and engineers see things, is often quite different [...]
Oracle + Open Source & MySQL
NorthScale's own Patrick Galbraith has, for many years now, authored and maintained the MySQL, and now Drizzle, UDFs for memcached. Last week, Patrick took this one step further with the latest release, version 1.1, which now includes support for "check and set" (a.k.a. CAS) operations.
I’ve teamed up with O’Reilly once again to do another webcast this coming January. In it, I’ll provide a step-by-step live tutorial of setting up DRBD with MySQL on a couple of virtual servers. After the live demo there will be time for Q&A as well, so hope you all can tune in.
To read the entire article at its source, please refer to webcast – DRBD and MySQL
While at MySQL, one of the complaints I used to receive every now and then had to do with MySQL’s performance in the area of UNION’s. I distinctly remember one user group meeting where folks from one government agency told me they couldn’t use UNION at all in their application because the performance was so slow.
I’ve teamed up with O’Reilly once again to do another webcast this coming January. In it, I’ll provide a step-by-step live tutorial of setting up DRBD with MySQL on a couple of virtual servers. After the live demo there will be time for Q&A as well, so hope you all can tune in.
Register here: DRBD [...]
A lot of the time I have found that the only available backup taken from mysqldump contains all databases. This is ok but can be a head ache if you only need to restore one or some of the tables in one database. Below is a good way to restore only that which needs to be restored. I have created three tables in the test database, truncated the third table and now need to restore just that table.
This Thursday (November 26th, 14:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. This session was originally scheduled for October 15th but had to be postponed for technical reasons.
MySQL Connector/MXJ is a Java utility package for deploying and managing a MySQL database. Connector/MXJ may be bundled with an existing Java application as a "plain old Java object" (POJO), as a Connector/J socket factory, or as a JMX MBean.
While at MySQL, one of the complaints I used to receive every now and then had to do with MySQL’s performance in the area of UNION’s. I distinctly remember one user group meeting where folks from one government agency told me they couldn’t use UNION at all in their application because the performance was so slow.
A few weeks ago I wrote about a student group who will be working with the Drizzle community to build a new database client tool. While the tool will be the primary replacement for the Drizzle client tool, we hope it will be generic (using the Python DB API) so it will work with others like MySQL and PostgreSQL. We’ve had a number of great discussions, including a session at OpenSQL camp last weekend.
MySQL Connector/Net 6.1.3, a new version of the all-managed .NET driver for MySQL has been released. This is our latest GA release and is suitable for use in all scenarios against servers ranging from version 4.1 to 5.4!
MySQL Connector/Net 6.2.1, a new version of the all-managed .NET driver
for MySQL has been released. This is a beta release and is intended to
introduce you to the new features and enhancements we are planning. This
release should not be used in a production environment.

The last weeks have seen two sides emerge in the debate over MySQL's future. MySQL is currently the sticking point in Oracle's planned acquisition of Sun Microsystems; although the acquisition passed the US regulators, European authorities have decided, after a preliminary investigation, to open a formal in-depth investigation into the competition issues around MySQL.
MySQL Connector/Net 6.0.5, a new version of the all-managed .NET driver
for MySQL has been released. This is a maintenance release and is approved for use
in all situations.
This blog entry provides technical insight into the benchmark of the MySQL database on Xen Virtualization environment based on the xVM Hypervisor
Introduction to the xVM Hypervisor
As a developer you’re probably using a versioning control system, like subversion or git, to safeguard your data. Advantages of using a VCS are that you can walk to the individual changes for a document, see who made each change and revert back to specific revision if needed. These are features which would also be nice for data stored in a database. With the use of triggers we can implement versioning for data stored in a MySQL db.
The binary version for MySQL Cluster 6.3.27a has now been made available at http://dev.mysql.com/downloads/select.php?id=14&display=current&previous_ga=1#downloads
A description of all of the changes (fixes) that have gone into MySQL Cluster 6.3.27a (compared to 6.3.26) can be found in the MySQL Cluster 6.3.27a Change Log.
In this second part of our piece on scaling, we talk about running more instances of MySQL either on a single server or multiple servers, to get faster overall response for your queries. This will require some work with your application making decisions about where it will find its data or where it should make [...]
Beyond simple basic vitualization, there are added new and interesting layers of management abstractions and features offered that MySQL users will benefit from by understanding. Being aware of how you might use these features in your enterprise may be beneficial in your next architecture design. To assist we explored using those HA, FT, load balancing features in VMware in the context MySQL.
As always looking for feedback or your experience.
I've recently been accumulating some MySQL configuration variables that have defaults which have proven to be problematic in a high-volume production environment. The thing they all have in common is a network blip or two can trigger some very undesirable behavior.
If a client is having trouble connecting to MySQL, the server will give up waiting after
connect_timeout
seconds and increment the counter which tracks the number of connect errors it has seen for the host.
InnoDB uses background threads to handle readahead (prefetch) requests. Requests are generated when it detects sequential or random access to most blocks in an extent. This is described in the 5.0 MySQL manual with new behavior in the plugin.