When I saw Shlomi's post on why not to use apt-get or yum for
MySQL, I thought immediately that his conclusions are quite
reasonable. What you get from the Linux distributions is not the
same thing that you find in the official
MySQL downloads page. Now, whether you value more the
completeness of the server or the ease of administration through
the distribution installation tools, it's up to you and your
business goals. We at the MySQL team have organized a meeting
with the Linux distributions with the intent of finding out which
differences and problems we may have with each other, and to
solve them by improving communication. What follows is a summary
of what happened in Brussels during the meeting.
Summary
Linux distributions ship MySQL products (Server, GUI Tools,
connectors, Cluster) with different criteria and different grade
of maturity, according to their own goals.
Due to lack of communication and policy conflicts, the distros
almost always ship outdated versions of MySQL server and MySQL
Cluster. The lag between the shipped version and the latest
product shipped by MySQL ranges from a few months to several
years.
By mutual understanding, the distros will now try to ship recent
versions of Cluster (7.x) in a separate package.
Participants
(see some more pictures from the meeting).
Giuseppe Maxia, MySQL Community Team Lead, Italy
Tomas Ulin, MySQL VP Engineering, Sweden
Harmut Holzgraefe, MySQL Support, Germany
Lars Heill, MySQL Build, Norway (Trondheim)
Joro Kodinov, MySQL Engineering / 5.1, Bulgaria
Oden Eriksson, Mandriva, Sweden
Mathias Gug, Canonical/Ubuntu, Canada
Robin H. Johnson, Gentoo Linux, Canada
Michal Hrušecký, Novell/openSUSE, Czech Republic
Geir Høydalsvik, MySQL QA, Norway (Trondheim)
Norbert Tretkowski, Debian Linux, Germany
Kaj Arnö, MySQL VP Community Relations, Germany
Main issues from the distributions:d1. Security bugs are
invisible until MySQL releases a fix. They would like to get
visibility of the bug report, to become aware of the problem and
eventually help fixing it. We are looking into this matter.
d2. Due to lack of communication, the distros were running
the test suite with different parameters. Gentoo packages the
server with UTF-8 as default character set, and this causes
several tests to fail. Our QA team is looking into it.
d3. Bug databases are different for each distros. They
usually solve problems on their own, or send the issue upstream
(to the MySQL team at Sun, now Oracle) when it is a legitimate
bug.
d4. Debian and Ubuntu don't apply all our patches to the
server that they ship. They only apply security bugs and fix for
bugs that don't introduce new or changed functionality. This is,
IMO, mostly a matter of terminology, since the new
functionality is only added as a side effect of fixing a bug.
For example, when we fixed Bug#49222: Mark RAND() as unsafe, there is a
change in functionality. Now RAND() is logged in ROW format, as
it should have been in the first place. It is indeed a new
functionality, but as a user I would rather have this bug fix in
my server, than adhering to the strict rules of no
changes.
d5. GUI tools are still shipped as current although they
aren't actively supported, with patches provided by
OpenSuse.
d6. While we provide specifications for .rpm packages, we
don't do that for .deb ones. Debian/Ubuntu ask if we can include
them in our code.
Main issues from the MySQL team:m1. Cluster packages are
outdated. Mainly for miscommunication, some distros are building
the cluster binaries with the server package, thus shipping quite
old and non-functional cluster binaries. After an explanation on
the Cluster roadmap, the distros agreed to ship 7.x binaries from
now on. We agreed that we will modify the build scripts in the
server to avoid compiling the cluster binaries
unintentionally.
m2. MySQL Workbench is not included in the stable
releases. There are two reasons: it is not GA yet, and its source
includes non-GPL code (for Windows and Mac) that needs to be
removed before being used by Debian and derivatives. Moreover,
Debian communicates that some DBAs don't like the idea of
deploying a design tool for daily database administration.
Conclusions
All in all, I feel that this meeting was a success. We achieved a
lot during the proceedings, solving problems ranging from simple
communication mismatches to neglected bugs. And meeting in person
with the ones who deal actively with MySQL in the Linux distros
is quite a rewarding experience.
From a technical standpoint, I hadn't realized that every
distribution is shipping a different server. That is quite a
challenge for the common users who may need to choose between
versions in several sites. However, this meeting has also shown
me that all the participants have very high quality standards,
and the difference in shipped versions is mostly due to the
peculiarity of many shipping calendars.
Thanks to all the participants. We fixed many issues, and we had
lots of fun at the same time. We should do that more often!
Feb
16
2010