Developer Articles RSS Feed for MySQL Developer Articles

MySQL Cluster 7.4 GA: 200 Million QPS, Active-Active Geographic Replication and more

By Andrew Morgan | February 26, 2015

The MySQL team at Oracle are excited to announce the General Availability of MySQL Cluster 7.4, in other words - it's now ready for production workloads. This is a release which takes what was already great about MySQL Cluster (real-time performance through memory-optimized tables, linear scale-out with transparrent sharding and cross-shard joins, High Availability and SQL as well as NoSQL interfaces) and makes it even faster, easier to manage and simpler to run accross geographies.

MySQL Fabric GA - Adding High Availability and/or Scaling to MySQL

By Andrew Morgan | May 27, 2014

MySQL Fabric provides a simple way to manage a collection of MySQL Servers and ensure that transactions and queries are routed to the correct server. We're pleased to announce that MySQL Fabric is now Generally Available and ready for live deployment! This article explains what MySQL Fabric is and how to set it up. It also gives an example of how it can be used to introduce High Availability (including automated failure detection and transparent failover) and/or scale-out (using data partitioning/sharding).

MySQL Cluster 7.3 GA: Increasing Developer Flexibility and Simplicity

By Andrew Morgan | June 18, 2013

The MySQL team at Oracle are excited to announce the immediate availability of the MySQL Cluster 7.3 Development Milestone Release GA release. Some might call MySQL Cluster 7.3 "the foreign keys release" - and sure enough it is a major engineering achievement to build a distributed database that enforces referential integrity across a shared-nothing cluster, while maintaining ACID compliance and cross-shard JOINs. But MySQL Cluster 7.3 is so much more as well. The design focus has been on enabling developer agility - making it simpler and faster than ever to enhance new services with a highly scalable, fault tolerant, real-time database - with minimum development or operational effort.

MySQL 5.6: Improvements in Thread Pool

By Mikael Ronström | May 15, 2013

MySQL Thread Pool has now been updated for the MySQL 5.6 version. Obviously, with the much higher concurrency of the MySQL Server in 5.6 it's important that the thread pool doesn't add any new concurrency problem when scaling up to 60 CPU threads. The good news is that the thread pool works even better in MySQL 5.6 than in MySQL 5.5. MySQL 5.6 has fixed even more issues when it comes to execution of many concurrent queries and this means that the thread pool provides even more stable throughput almost independent of the number of queries sent to it in parallel.

MySQL Applier for Hadoop

By Mat Keep | April 22, 2013

To support the growing emphasis on real-time operations, MySQL is releasing a new MySQL Applier for Hadoop to enable the replication of events from MySQL to Hadoop / Hive / HDFS (Hadoop Distributed File System) as they happen. The MySQL Applier for Hadoop complements existing batch-based Apache Sqoop connectivity. This developer article gives you everything you need to get started in implementing real-time MySQL to Hadoop integration.

DBA and Developer Guide to MySQL 5.6

By Rob Young | February 05, 2013

MySQL is the most trusted and depended-on open source database platform in use today. As such, 9 out of the top 10 most popular and highly-trafficked websites in the world rely on MySQL primarily due to its ubiquity across heterogeneous platforms and application stacks and for its well-known performance, reliability and ease of use. MySQL 5.6 builds on this momentum by delivering across the board improvements designed to enable innovative DBAs and Developers to create and deploy the next generation of web, embedded and Cloud/SaaS/DaaS applications on the latest generation of development frameworks and hardware platforms.

What's New in MySQL 5.6 Release Candidate

By Rob Young | September 29, 2012

The MySQL 5.6 Release Candidate is an aggregation of the previous MySQL 5.6 Development Milestone Releases ("DMR") and provides a true functional image of what we hope will soon be the generally available ("GA"), production-ready 5.6 product. At a glance, 5.6 is simply a better MySQL with across the board improvements that hit every functional area of the database kernel, bringing benefits whether you deploy on-premise or in the cloud.

MySQL Replication Utilities: Video Tutorial

By Andrew Morgan | September 29, 2012

Learn how to use MySQL 5.6 and the MySQL Utilities to setup, monitor and manage your MySQL replication topology. See how a single command can be used to add replication slaves. See for yourself how easy it is to use the utilities to continually monitor the replication master and then automatically promote the most appropriate slave in the event of a failure. For those who prefer more user control, the monitoring can run in an alert-only mode and you'll learn how you can manually initiate failover using a single command.

MySQL Cluster Auto-Installer: Video Tutorial

By Andrew Morgan | September 29, 2012

Learn how easy it is to deploy a MySQL Cluster database that has been configured to best meet your application's needs within your environment. See how the installer automatically detects the resources available on your target hosts and then combines that with the application requirements that you specify in order to produce a tailored configuration. The tutorial will then demonstrate the installer pushing this configuration to the target machines and starting the process that make up the system.

MySQL 5.6 Replication - Enabling the Next Generation of Web & Cloud Services

By Mat Keep | April 10, 2012

The new MySQL 5.6.5 Development Milestone Release (DMR) introduces a much anticipated feature - Global Transaction Identifiers (GTIDs) for MySQL replication. GTIDs make it simple to track and compare replication progress between the master and slave servers. This enables much simpler recovery from failures of the master, while also introducing great flexibility in the provisioning and on-going management of multi-tier or ring (circular) replication topologies.

MySQL Cluster 7.2 GA Released, Delivers 1 BILLION Queries per Minute

By Mat Keep | February 15, 2012

Oracle is delighted to announce the immediate availability of the production-ready, GA release of MySQL Cluster 7.2, available for download under the GPL, and as part of the commercial MySQL Cluster Carrier Grade Edition, including management tools, product certifications and 24x7 global support. New benchmarks demonstrate MySQL Cluster's ability to support the most demanding web and telecoms workloads, while maintaining 99.999% availability. MySQL Cluster delivered 1 billion queries per minute (17.6 million queries per second), scaled-out across 8 x commodity Intel x86 server nodes, accessed by the NoSQL C++ NDB API.

MySQL's latest InnoDB engine can now do extensive, high-performance, full text search. (Dr. Dobb's)

By Jimmy Yang & John Russell | November 08, 2011

Oracle recently provided access to many new MySQL 5.6 features through for the user community to test and comment on. One notable feature is the InnoDB Full-Text Search (FTS) engine. It lets users build FULLTEXT indexes on InnoDB tables to represent text-based content and speed up searches for words and phrases.

MySQL Cluster 7.2 (DMR2): NoSQL, Key/Value, Memcached

By Mat Keep | October 03, 2011

MySQL Cluster is one of the fastest growing technologies available from MySQL today. To build on this momentum, we are announcing the second Development Milestone Release (DMR) at Oracle Open World 2011. The MySQL Cluster 7.2.1 builds upon the first DMR (7.2.0) announced in April 2011 with a range of new capabilities designed to enable next generation web services, enhance cross data center scalability and simplify provisioning.

MySQL 5.6 - (Early Access Features) - InnoDB and Replication!

By Rob Young | July 27, 2011

MySQL 5.5 has been widely acknowledged to be the best release in the history of MySQL. And, in April 2011, we raised the bar again with Development Milestone Release (DMR) and Early Access (Labs) releases of MySQL 5.6. John Russell did an excellent job of summarizing the features in the "What's New in 5.6" devzone article he posted in April. At OSCON 2011, we are delivering more early access (labs) features for InnoDB and Replication features. These features are focused on better scalability, performance and flexibility. We look forward to community testing and feedback.

Globalizing MySQL - Interview with Alexander "Bar" Barkov

By Paul DuBois | July 18, 2011

We interviewed Alexander "Bar" Barkov to discuss the recent improvements in MySQL globalization that enable MySQL users around the world to use the database system more easily and naturally.

MySQL 5.5: Pluggable Authentication API: Interview with Georgi "Joro" Kodinov

By Alex Roedling | April 29, 2011

We talked to Georgi "Joro" Kodinov to discuss the MySQL 5.5 Pluggable Authentication API which enables MySQL to access external authentication sources.

What's New in MySQL 5.6

By John Russell | April 11, 2011

With MySQL 5.5 generally available and being deployed all over the planet, the architects and strategists can start looking ahead to the exciting new thing with "SQL" in its name: MySQL 5.6. MySQL 5.6 builds on the momentum of 5.5, and Oracle's investment and commitment to MySQL, by delivering better performance and scalability.

MySQL Cluster 7.2 Labs & Development Milestone Release - NoSQL with Memcached and 20x Higher JOIN Performance

By Mat Keep | April 11, 2011

The announcements at the Oracle Collaborate and O’Reilly MySQL conferences mark an exciting milestone in the development of the MySQL Cluster database. MySQL Cluster is already proven as a write-scalable, real-time transactional database, combining 99.999% availability with the low TCO of open source. With a distributed, multi-master architecture and no single point of failure, MySQL Cluster scales horizontally on commodity hardware to serve read and write intensive workloads. With these enhancements announced in the Development Milestone Release, MySQL Cluster can be extended to serve a broader range of workloads.

Introducing the MySQL Installer for Windows

By Mike Zinner | April 11, 2011

The MySQL Installer for Windows radically simplifies the installation process for all MySQL users on the Windows platform. It only takes minutes from downloading the MySQL Installer to having a ready to use MySQL system on your machine. An easy to use - wizard based - UI will guide you through the installation process. You can select which products you want to have installed on your machine. After the file installation you can configure your system and setup your MySQL server. MySQL Installer also helps you to keep your system up-to-date by offering a simple "Check for Updates" feature. If you choose to run this feature the MySQL Installer will connect to the webpage to check if new versions of your MySQL products are available. Those will then be downloaded and installed with a single mouse click. The MySQL Installer will run on all Windows platforms that are supported by MySQL.

When the IOUG Meets the MySQL Community - Interview with Andy Flower, Sarah Novotny, Lenz Grimmer and Dave Stokes

By Wei-Chen Chiu | March 09, 2011

In light with the formation of the MySQL Council under the IOUG (Independent Oracle User Group) and two upcoming conferences with a lot of MySQL content - Collaborate 11 and O'Reilly MySQL Conference, we talked to Andy Flower, President of IOUG, Sarah Novotny, recognized MySQL community member and the Council Chair, as well as Lenz Grimmer and Dave Stokes, MySQL community managers at Oracle, on their thoughts and takes of the IOUG and the MySQL community.

MySQL 5.5 Does Windows - Oracle TechCast Live with Mike Frank

By Justin Kestelyn, Oracle TechCast Live | January 25, 2011

Recorded Live Interview of Product Manager Mike Frank who explains why MySQL 5.5 offers the best performance on Windows yet.

MySQL 5.5 is GA - Interview with Tomas Ulin

By Rich Schwerin, Oracle Magazine | December 15, 2010

Oracle Magazine features editor Rich Schwerin interviews Tomas Ulin, Vice President, MySQL Engineering, who answers questions about the GA release of MySQL 5.5.

What's New in the MySQL Enterprise Spring 2010 Release? - Interview with Mark Matthews and Andy Bang

By Mark Matthews and Andy Bang | May 17, 2010

We talked to Mark Matthews and Andy Bang, two core developers in the MySQL Enterprise Monitor team, to give us some insight into the new features in the latest MySQL Enterprise Release.

Introduction to MySQL 5.5

By John Russell | April 13, 2010

It's been a busy year for MySQL. Perhaps you've heard. Here are some recent improvements to the speed, scalability, and user-friendliness of the MySQL database and the InnoDB storage engine that we think deserve their own headlines. Now is a great time to beta test the 5.5 release and give feedback to the MySQL engineering team.

A deep look at MySQL 5.5 partitioning enhancements

By Giuseppe Maxia | December 24, 2009

The release of MySQL 5.5 has brought several enhancements. While most of the coverage went, understandably, to the semi-synchronous replication, the enhancements of partitioning were neglected, and sometimes there was some degree of misunderstanding on their true meaning. With this article, we want to explain these cool enhancements, especially the parts that were not fully understood.

Tino Rachui: Using MySQL Cluster in Sun's Virtual Desktop Infrastructure

By Lenz Grimmer | November 10, 2009

Sun Virtual Desktop Infrastructure (VDI3) is a desktop virtualization technology that provides virtual desktop access, brokering, and hosting, enabling Windows, OpenSolaris, or Linux virtual desktops. These desktops can be accessed by using existing PCs, Macs or thin clients such as Sun Ray.

What's New in the MySQL Enterprise Fall 2009 Release? - Interview with Mark Matthews and Andy Bang

By Mark Matthews and Andy Bang | September 08, 2009

We talked to Mark Matthews and Andy Bang, two core developers in the MySQL Enterprise Monitor team, to give us some insight into the new features in the latest MySQL Enterprise Release. You can find more about the MySQL Query Analyzer in our previous interview with Mark Matthews.

MySQL Developer, meet “Quan” (aka the MySQL Query Analyzer)

By Rob Young | May 15, 2009

The MySQL Query Analyzer ("Quan") is designed to save development time on query coding and tuning by expanding on all of the good things found in the Slow Query Log, SHOW PROCESSLIST; EXPLAIN plan, and 5.1 profiler all with no dependence of any of these atomic things. To this end, we integrated Quan into the Enterprise Monitor so developers can monitor security, performance, availability AND all of their queries across all their MySQL servers from a single, consolidated view.

Why Move to MySQL from Microsoft SQL Server?

By Robin Schumacher | May 04, 2009

Before we get started, let me say that I always liked being a SQL Server DBA. My database experience started with DB2, then Teradata, followed by Oracle, and then SQL Server (and then a little bit of Sybase after that, followed by MySQL). Coming from the other databases, I found SQL Server the easiest and quickest to learn at the time, but of course, a lot of that had to do with the fact that Microsoft was really the only database vendor around then (I started with version 4.2 of SQL Server) that shipped any decent GUI management tools with their server. Take the tools away, and you basically had Sybase on Windows with the ISQL command line tool, which was not pretty by any means.

Installing MySQL Connector/C++ from Source

By Giri Mandalika | April 15, 2009

This HOW-To document outlines the build-time dependencies, and shows the steps involved in building the MySQL Connector/C++ from the source code.

Developing Database Applications Using MySQL Connector/C++

By Giri Mandalika | April 15, 2009

The MySQL Connector/C++ provides an object-oriented application programming interface (API) and a database driver for connecting C++ applications to the MySQL Server. Connector/C++ implemented a significant percentage of the industry standard JDBC 4.0 specification in C++ world. This technical article shows the essential steps to build and install MySQL Connector/C++ driver, with simple examples to connect, insert, and retrieve data from a MySQL database. Application developers who are new to MySQL Connector/C++ but not to C++ programming and MySQL database, are the target audience.

Getting started with DTracing MySQL

By Amit Saha | March 05, 2009

DTrace is a dynamic tracing facility built into the Solaris and Open Solaris operating systems and can be used by system administrators and developers alike to observe the runtime behavior of user level programs and of the operating system itself. On one hand, DTrace can be used to identify potential bottlenecks in the running processes on a production system and on the other DTrace can help you understand the runtime behavior of an external program such as MySQL better.

Exception Error Handling Implementation in MySQL/VB.NET Windows Database Applications

By Ernest Bonat, Ph.D. | February 10, 2009

Error handling implementation in Windows database applications is a must for any Application Developer today. The main idea of error handling is to avoid application crashes by finding out the occurred errors and fixing them. Different programming languages have different ways of implementing error handling. Microsoft Visual Basic .NET (VB.NET) is the most common programming language for developing windows database applications today. VB.NET codes are provided in many websites, books and materials without error handling implementation. In this article I would like to introduce you to the basics of error handling implementation in MySQL/VB.NET windows database applications. I’ll be covering structured exception error handling, which was introduced for the first time in VB.NET 2002. I will also go over the latest technologies of disposing unmanaged recourses in .NET Framework with the Using statement. To write exception errors to a log text file, a generic procedure will be developed while MySQL data is loading, inserting, updating and deleting.

Another Look at MySQL 5.1’s SQL Diagnostic Tools

By Robin Schumacher | January 26, 2009

Prior to MySQL 5.1, it wasn’t all that easy to find the worst running SQL on a MySQL instance. And truth be told, MySQL still has a ways to go before it’s an effortless process. But, the good news is there are some new aids in MySQL 5.1 and MySQL Enterprise that do make it more efficient to find and troubleshoot bad SQL code that’s hiding inside a MySQL instance. Let’s take a quick tour through these new features and see what help they provide.

Allan Packer on performance tuning: Scaling MySQL

By Lenz Grimmer | January 22, 2009

A year ago this past week (on January 16, 2008), Sun Microsystems announced a historic deal to acquire MySQL AB for a billion dollars. Since then, MySQL-ers (aka Sun Dolphins) have settled in with Sun folks. While Sun has had an influence on MySQL, MySQL has also had an influence on several projects within "Sun Classic". Over this week, we hope to explore some of the projects around Sun which use MySQL and how the acquisition has helped bring us all closer together. Today we talk to Allan Packer, Principal Engineer in the Performance Technologies group at Sun Microsystems and team lead for the MySQL Performance & Scalability Project.

Neelakanth Nadgir on MySQL and ZFS: A File System Revolution

By Duleepa "Dups" Wijayawardhana | January 21, 2009

A year ago this past week (on January 16, 2008), Sun Microsystems announced a historic deal to acquire MySQL AB for a billion dollars. Since then, MySQL-ers (aka Sun Dolphins) have settled in with Sun folks. While Sun has had an influence on MySQL, MySQL has also had an influence on several projects within "Sun Classic". Over this week, we hope to explore some of the projects around Sun which use MySQL and how the acquisition has helped bring us all closer together. Today we talk to Neelakanth Nadgir in the Sun/MySQL Performance Team about MySQL and ZFS, the revolutionary file system included with Solaris and OpenSolaris operating systems from Sun.

Detlef Ulherr and Thorsten Früauf on Open HA Cluster: Making MySQL highly available on Solaris

By Lenz Grimmer | January 20, 2009

A year ago this past week (on January 16, 2008), Sun Microsystems announced a historic deal to acquire MySQL AB for a billion dollars. Since then, MySQL-ers (aka Sun Dolphins) have settled in with Sun folks. While Sun has had an influence on MySQL, MySQL has also had an influence on several projects within "Sun Classic". Over this week, we hope to explore some of the projects around Sun which use MySQL and how the acquisition has helped bring us all closer together. Today we talk to Detlef Ulherr and Thorsten Fruehauf, engineers working on Solaris Cluster and its Open Source sibling, Open HA Cluster.

Vince Carbone on MySQL and DTrace: Dynamically tracing better performance

By Duleepa "Dups" Wijayawardhana | January 19, 2009

A year ago this past week (on January 16, 2008), Sun Microsystems announced a historic deal to acquire MySQL AB for a billion dollars. Since then, MySQL-ers (aka Sun Dolphins) have settled in with Sun folks. While Sun has had an influence on MySQL, MySQL has also had an influence on several projects within "Sun Classic". Over this week, we hope to explore some of the projects around Sun which use MySQL and how the acquisition has helped bring us all closer together. Today we talk to Vince Carbone in Sun's Performance Technology Group about MySQL with DTrace, the dynamic tracing application that is part of Solaris and OpenSolaris and set to be a hot topic at the 2009 MySQL User Conference.

Interview with Lars Heill, Release Engineering Manager

By Lenz Grimmer | December 18, 2008

Born in Northern Norway 41 years ago and Lars has lived in Trondheim for the last 22 years. He is a Physicist by education, has a master degree on semiconductor heterojunctures and has earned a PhD on high temperature superconductors. He worked briefly on nuclear power fuel optimization and petroleum related rock mechanics before joining Clustra in the year 2000, which was acquired by Sun Microsystems in 2002. Clustra was a database software vendor that specialized in clustered, high-availability databases that were required by telecoms and service providers.

Interview with Alexander "Salle" Keremidarski, 2008

By Duleepa "Dups" Wijayawardhana | December 09, 2008

Alexander "Salle" Keremidarski works as the Manager of EMEA Support for MySQL and is one of MySQL's longest serving employees. This isn't Salle's first interview on the Devzone, but seeing as how it's been a couple of years, we thought we'd catch up with Salle and see how things are going.

Interview with Adam Donnison, web developer at

By Lenz Grimmer | November 25, 2008

Adam has been in IT now for more than a quarter of a century, variously as a programmer, systems analyst, database admin and consultant. The first job Adam had was writing software for cash registers in assembler, and back end software in C and COBOL on UNIX. Adam is active in a number of open source projects and is the admin of dotProject. He now works in the web team which is responsible for maintaining the web sites.

Using MySQL 5.1 for Data Warehousing/Business Intelligence Overview

By Christopher Lavigne, Founding Partner at Breadboard BI, Inc. | November 24, 2008

Breadboard BI provides affordable business intelligence (BI), data integration, and general software application development consulting. We also offer a suite of customizable BI modules that form a modular and scalable enterprise solution. Our mission is to provide products and service that enable companies to reduce costs, improve sales, and satisfy regulatory requirements.

Logging Game Downloads With Partitioning

By Ryan Thiessen, DBA Lead at Big Fish Games | November 24, 2008

Big Fish Games, Inc. develops, publishes, and distributes casual games through its website at It offers downloadable games for PC/Mac; and online games, including puzzle, card, and word games. The company was founded in 2002 and is based in Seattle, Washington.

Using Partitioning for Data Warehousing at

By Fourat Zourai, Software Engineer for | November 19, 2008

TriTUX is based in Tunis, Tunisia. Founded in 2006 as Systems Analysis and Weblication Development, TriTUX is providing high-quality professional services for achieving flexible, creative and scalable systems. TriTUX engineers is a team of jack-of-all-trades, possessing intimate knowledge in networking, eXtreme programming, GNU/Linux and scalable solutions.

MySQL Query Analyzer: Interview with Mark Matthews

By Mark Matthews | November 18, 2008

MySQL Performance Tuning is always a popular topic for DBAs and Developers. Traditionally, database tuning has required manual effort and custom scripts. MySQL Query Analyzer aims to minimize the manual effort, with easy-to-use tools to help find-n-fix problem queries. In this interview, we talk with Mark Matthews, to get an architects view of the product.

Bound and Unbound DataGridView Control for MySQL 5.0/VB.NET 2008 Windows Applications

By Ernest Bonat, Ph.D. | November 05, 2008

Understanding and programming MySQL data load into the DataGridView control is a must for Windows Application Developers today. Many times, in real production environment the end-users need to see a result set of data to make daily business decisions. The main question is about how many records they need to see when the control gets loaded. The answer of the question is defined by the client's business rules. At this point application performance is a critical issue for Application Developers. In this paper I'll show you how load MySQL data into the DataGridView control using VB.NET bound and unbound programming modes. A timer class named Stopwatch for VB.NET will be used to measure the execution time between theses two programming modes.

Using Partitioning to Manage Satellite Networks

By Guy Adams, Chief Technical Officer at Parallel Ltd. | October 17, 2008

Our product historically used an Oracle backend, and after implementing simple date based range partitioning we got a 20-30 time performance increase in our queries. We had used MySQL in other more minor products we had developed, but we couldn’t move to it until partitioning was implemented. In Dec 05 we started to test MySQL partitioning, where partitioning syntax was supported but the optimizations were not in place. As soon as the optimizations were put in, we were able to run a side by side comparison against unpartitioned tables and Oracle partitions. Not only did we get in MySQL a 30+ times performance increase, but the MySQL version ran nearly twice as fast as the same Oracle configuration in a like for like test.

Advanced Bazaar for MySQL developers

By Guilhem Bichot | September 16, 2008

The MySQL project switched from Bitkeeper to another revision control system, Bazaar, in June 2008. My colleague Daniel Fischer wrote an excellent article describing how to get MySQL's code by using Bazaar, and how to compile a MySQL server binary from this. Here I am going to build on this knowledge and take it further, to show you how to modify MySQL's code for your needs, and share your modifications.

FC Inter Milan Using MySQL 5.1 Partitioning and Event Scheduler

By Corrado Pandiani | September 10, 2008

If you are a football (soccer) fan, then F.C. Internazionale may mean something to you. Or perhaps its more common name, Inter Milan sounds familiar? Next in our Use Case Competition articles, here's Corrado Pandiani's experience, about using MySQL to power, one of the most popular soccer sites in Europe. Not only that, but is using the latest MySQL 5.1 technology.

Using Partitioning and Event Scheduler to Prune Archive Tables

By Gregory J. Haase | September 05, 2008

First in our series of Use Case reports on new MySQL 5.1 features, we have Greg Haase of Lotame describing his innovative use of partitioning. Usually, the creators of new applications are unaware of the various tweaking that users may submit their features to, in order to achieve surprising results. We in the community team are usually on the tweaking side, and we like to surprise developers with (positive) side effects of the existing features. This time, we were caught by surprise. Greg's usage of partitioning and events is really cool!

Getting started with Bazaar for MySQL code

By Daniel Fischer | June 24, 2008

Since you're reading this, you probably know that Sun is switching to the Bazaar version control system for all development work on the MySQL server. Unlike the version control system that we've been using previously, Bazaar is an open source project and freely available to anyone. This means that it is now much easier to follow ongoing development, or even to participate in it! On the downside, just like our previous tool, Bazaar is not quite as straight-forward as traditional version control systems such as CVS or subversion. The aim of this article is to give an overview and a general idea of how to set up Bazaar, how to access the MySQL server source code repositories, and the basic commands for working with the source code.

MySQL Workbench for Database Change Management

By Robin Schumacher | May 08, 2008

Managing database change is an incredibly important discipline that very few database professionals overtly talk or worry about until they're in the thick of things with a particular database - moving it from development to production, making changes to a newly installed production database, or implementing an updated version of the database (new tables, modifications to existing objects, etc.) in a SaaS application. It's at that point where change management becomes very important because if you don't do things right the first time, you can make a royal mess of things and even (in a small number of cases) reach the point of no return where you've completely torched your database.

How the MySQL Enterprise Upgrade Advisor Helps DBAs Avoid Being Bitten by Known Bugs

By Rob Young | April 01, 2008

In an earlier article I described how MySQL Enterprise takes the guesswork out of deciding which version of the MySQL server customers should be running by providing alerts around regularly scheduled Monthly Rapid Update and Quarterly Service Pack releases of the Enterprise Server. Being of an old school "if it ain't broke don't fix it" mindset, I understand the conservative approach most DBAs take when deciding if a new release of any software is relevant to their environment. In fact, given the monthly frequency of Enterprise maintenance releases and the work involved with upgrading, I completely understand how recipients can begin to ignore Update Alerts (unless of course a known fix is on the way). Based on feedback from customers, MySQL colleagues, and my own field experience, I recognize that while notifications around the regular Enterprise Server drops is a good thing, upgrading an existing MySQL implementation is no small task and that a major part of removing guesswork around new releases involves helping those receiving notifications better understand how they are affected.

Why you want to be good at data modeling

By Robin Schumacher | March 27, 2008

To be really successful at working with databases, there are many different disciplines to become proficient in - things like disaster recovery, security management, data integration, and more. But there are less than a handful of things you want to be really good at; becoming super-skilled in them will help you enormously in your database career. And believe it or not, one of these key areas is data modeling and its kissing cousin, physical database design.

Reporting MySQL Internals with Information Schema plug-ins

By Roland Bouman | February 21, 2008

Last week, I described how to use the MySQL plug-in API to write a minimal 'Hello world!' information schema plug-in. The main purpose of that plug-in is to illustrate the bare essentials of the MySQL information schema plug-in interface.

MySQL Information Schema Plugins: the best kept secret of MySQL 5.1

By Roland Bouman | February 12, 2008

MySQL 5.1 offers an extremely useful feature called information_schema plugins. This feature allows dynamic runtime loading of a shared library into the MySQL server to implement a table in the information_schema database. The SQL standard (ISO/IEC 9075-11:2003) allows database implementations to extend the information_schema. MySQL 5.1 transfers the possibility to do this directly to privileged database users so they can extend the information_schema themselves, in any way they see fit.

Enforcing Foreign Keys Programmatically in MySQL

By Philippe Campos | July 10, 2006

In this article we explore how to program foreign keys into a MySQL Server. This is important when your application requires referential integrity and the storage engine you’d like to use, as in the case of MyISAM or NDB (Cluster), does not support this functionality natively. We should note that InnoDB and the upcoming code-named “Falcon” storage engine, both support foreign keys.