Friday, March 31, 2006

These are really bad news ...

... from Andrew that he doesn't find the time to maintain any longer and write MySQL related blog articles :-(.

It would be too bad to let die, so I hope that there's a way to keep it alive in some form or another. I know that it's a huge amount of work for a single person to keep such a site up to date, so maybe there's a way to integrate the content into MySQL Forge or to create a Wiki to make it easy to anybody who just has something interesting to contribute it. I would also integrate it into the project, if there's no other way. Any rescue is better than letting it die completely.

I also haven't been very active in terms of MySQL recently, but nevertheless, there are a few great things that will make it easier for me to get involved more deeply than ever before. I just got a new PC running (an Athlon 64 3200+ with 2 GB RAM and two 250 GB hard disks - will be running SuSE Linux as primary OS) and in the upcoming week, a new xDSL connection will replace my current slow ISDN connection. I'm sure, that will make working much more fun and there will be new things that I can try out then that would be quite frustrating with an ISDN line.

Wednesday, March 22, 2006

My MySQLUC departure is just a month away

Time seems to be racing - in exactly one month I'll be on the way from Vienna via London to San Francisco and then to Santa Clara to attend the MySQL User Conference.

That's all extremely exciting for me. Actually, it's the first time in my life that I leave Europe. It will also be my first flight in 11 years (after leaving school, I travelled to Tenerife with my school mates - no big trip since then). It will be a great new experience.

I have rented a car in San Francisco for the whole duration of my stay together with a GPS system, so I will be able to drive around to see a bit of the location around San Francisco. I'll have a complete day for that until the Conference starts, and also a little time after the Conference. That's another exciting aspect of my trip.

But the most exciting thing will be to meet all the guys that I had contact to via emails, blog comments etc. - and last but not least, the MySQL management and developers. That still looks a bit unreal to me at the moment, but not far away from now, it's about to actually happen ;-).

Have you ever needed your mobile phone to connect to the Internet?

During a life with computers, you sometimes see very strange things - such as this:

I have a little server at home that connects to the Internet via ISDN, and all other PCs in the network get their Internet connection through this server, which was running SuSE Linux 9.0. Everything worked absolutely fine.

Last weekend, I re-installed this server and updated to SuSE Linux 10.0. I set up the hardware settings in the same way as with SuSE 9.0 and generally, it worked again - but not always. Sometimes, I couldn't connect to the Internet anymore (while sometimes, it still works), but I found out a funny solution how to work around this problem.

I have also set up a fax server with capisuite. So if I call the fax (e. g. with my mobile phone), I can connect again right afterwards. I don't know why, but it works.

Of course, this solution wouldn't be very satisfying for the long term. But xDSL is already ordered and so, one of the next days I should be able to through ISDN over board to get a 32 x faster Internet connection without any transfer limits :-). I'm pretty excited about this!

This will also give me a chance to do things that I didn't need to think about so far. For example, there are many great live web seminars from MySQL. ISDN would be too slow to watch them, but this will soon be no problem anymore. And there are many other great things that I can start to do (like downloading and testing different Linux distributions), that have been impossible or at least extremely slow.

Triggering emails

Today I received an interesting request from one of the users: is it possible to trigger emails on particular events? So for example, if a record that fulfills certain conditions is being inserted, somebody should automatically receive an email.

As far as I know, it's not possible in MySQL, but in other RDBMS. So wouldn't this be a nice feature for e.g. MySQL 5.2?

The only solution that comes to my mind is rather tricky and not 100 % accurate (since it doesn't send the email immediately after change in the database happened). Somebody could write a little application that verifies the condition and if it does, it sends the email - so this app could be defined as a cronjob to be run at a regular basis. Not very elegant, indeed.

Are there better solutions for this?

Tuesday, March 21, 2006

What's the first thing that I see when I get up?

The answer is ... my PHP & MySQL Certificates.

Markus Popp Certifications 1     Markus Popp Certifications 2

The PHP Certificate has been hanging right over my bed for a bit longer, while my MySQL Professional Certificate had its place in my document case. But a place where I hardly see it cannot be a good place, so from now on, it has an honourable place on the wall, too ;-).

Tuesday, March 14, 2006

Five reasons

Here's one more that I stumbled over:

Five reasons why you should never use PostgreSQL -- ever

As the title suggests, it's mainly about PostgreSQL. However, a lot of it applies to MySQL, as well.

JDBC Metadata, MySQL, and Oracle Recipes

I just stumbled over a new book from Apress:

JDBC Metadata, MySQL, and Oracle Recipes: A Problem-Solution Approach

Could be interesting for some folks ;-).

Saturday, March 11, 2006

A little look ahead to MySQL 5.2

This topic seems to come quite early - MySQL 5.0 (as GA release) is not even half a year old and MySQL 5.1 has just turned into beta.

But I've heard that MySQL 5.1 will be quite a quick release, so MySQL 5.2 is maybe not that far away.

So it could be a good moment to start to talk about the features that could be in MySQL 5.2. Some plans have already been published:

(if you know more sources, please add them as comments ;-))

Maybe, someone could create a new forum where people can discuss what they would like to see inside MySQL 5.2. I'm sure, many people inside the MySQL Community (me included) have their favourite features.

My current MySQL UC plan (still subject to change)

I had a tough time to choose from all those phantastic tutorials and sessions at the MySQL User Conference. Now I have a list of my top favourites, which I'd like to show you.

However, this is of course a very personal choice with very personal decisions, so I wouldn't like to call this recommandation or anything like this. Everybody is different, has different topics of interest and different expertises - so it's quite obvious that everybody would make different choices.

You can see how tough the choice was if you look at the "other favourites". It makes my heart bleed that so many interesting sessions (and of course, the tutorials, too) take place at the same time and it's not possible to watch all of them.

So here it is:

2006-04-24 08:30:00 - 2006-04-24 12:00:00

Secure Your PHP and MySQL Web Applications
(Laura Thomson, Senior Web Developer, OmniTI)

2006-04-24 13:30:00 - 2006-04-24 17:00:00

New Features of MySQL 5.0 and 5.1 In-depth (Partitioning, Updateable Views, Triggers, Stored Procedures)
(Jan Kneschke, Senior Developer, MySQLNetwork)

2006-04-25 00:00:00 - 2006-04-25 00:00:00

GPL v3 Jam Session

2006-04-25 08:20:00 - 2006-04-25 08:30:00

(Arjen Lentz, MySQL AB)

2006-04-25 08:30:00 - 2006-04-25 09:15:00

State of the Dolphin
(Kaj Arnö, MySQL AB, David Axmark, MySQL AB, Michael (Monty) Widenius, MySQL AB)

2006-04-25 09:15:00 - 2006-04-25 10:00:00

Bootstrapping: Starting an Open Source Business With Almost No Money!
(Greg Gianforte, RightNow Technologies)

2006-04-25 11:00:00 - 2006-04-25 11:45:00

The 5.1 Release
(Brian Aker, MySQLAB)

Other favourites:

The Java Advantage in MySQL
(Philip Antoniades, MySQL AB)

Creating .Net Applications with Linux and MySQL
(Matt Lord, MySQL AB)

2006-04-25 11:50:00 - 2006-04-25 12:35:00

A Look at New and Cool Things in the World of PHP
(Rasmus Lerdorf, PHP)

Other favourites:

Migrating a Large System to MySQL
(Ananth Reddy,

MySQL and Windows: Playing Well Together
(Reggie Burnett, MySQL AB)

2006-04-25 14:00:00 - 2006-04-25 14:45:00

MySQL In-Depth for DBAs
(Robin Schumacher, MySQL AB)

2006-04-25 14:50:00 - 2006-04-25 15:35:00

Performance Tuning Best Practices
(Jay Pipes)

Other favourites:

A Day in a MySQL Windows DBA
(Gerardo Narvaja, MySQL)

2006-04-25 16:30:00 - 2006-04-25 17:15:00

PHP Framework and the Eclipse PHP IDE
(Andi Gutmans, Zend Technologies, Inc.)

Other favourites:

Embedding MySQL
(Jim Winstead, MySQL, Inc.)

Panel: Scale Out
(Brian Aker, MySQLAB, Dorion Carroll, Technorati, Jeremy Cole, Yahoo! Inc., Brad Fitzpatrick,

MySQL 5 Applied: The Sakila Sample Database
(Mike Hillyer, MySQL AB)

MySQL Partitioning
(Mikael Ronström, MySQL AB)

Advanced User-Defined Functions in MySQL 5
(John David Duncan, MySQL)

2006-04-25 17:20:00 - 2006-04-25 18:05:00

Higher Order MySQL
(Giuseppe Maxia,

Other favourites:

MySQL GUI Tools for the Enterprise
(Michael G. Zinner, MySQL AB)

What *Not* to Include in Your DB Schema, and Why
(Danny O'Brien, Need To Know)

MySQL Performance: 5.0 vs 4.1
(Peter Zaitsev, MySQL, Inc.)

Synchronizing MySQL-based Applications with Mobile Devices
(Fabrizio Capobianco, Funambol)

2006-04-25 18:00:00 - 2006-04-25 19:30:00

Exhibitor Reception

2006-04-25 20:00:00 - 2006-04-25 21:30:00

HackFest B: Creating New SHOW Commands
(Brian Aker, MySQLAB)

Other favourites:

HackFest A: Creating New UDFs
(Hartmut Holzgraefe, MySQL AB, Jeremy Cole, Yahoo! Inc.)

2006-04-26 08:30:00 - 2006-04-26 09:15:00

State of MySQL AB
(Mårten Mickos, MySQL AB)

2006-04-26 09:15:00 - 2006-04-26 10:00:00

O'Reilly Radar
(Tim O'Reilly, O'Reilly Media, Inc.)

2006-04-26 10:00:00 - 2006-04-26 10:30:00

Open Source & Linux at HP: Community Development, Customer Success
(Christine Martino, Hewlett-Packard)

2006-04-26 11:00:00 - 2006-04-26 11:45:00

Use Cases for Replication and Cluster in MySQL
(Brian Aker, MySQLAB)

Other favourites:

What Do You Mean There's No Backup?
(Michael Kruckenberg, OpenAir, Jay Pipes)

MySQL Network: MySQL Expertise, Across the Enterprise
(Andy Bang, MySQL, Rob Young, MySQL Network)

Speeding-up Queries: New Features of the MySQL 5.0 Query Engine
(Timour Katchaounov, MySQL)

Open Source Business Intelligence
(Barry Klawans, JasperSoft)

2006-04-26 11:50:00 - 2006-04-26 12:35:00

Wikipedia: The Cheap and Explosive Scaling with LAMP
(Domas Mituzas, MySQL and Wikimedia Foundation, Brion Vibber, Wikipedia)

Other favourites:

Security by Example (or, "Stupidity and the Real World")
(Kristian Köhntopp, MySQL AB)

Speeding-up Queries: New Features of the MySQL 5.0 Query Engine (Cont'd.)
(Timour Katchaounov, MySQL)

2006-04-26 14:00:00 - 2006-04-26 14:45:00

MaxDB: The Professional Database
(Ashwath Kakhandiki, Roland Mallmann, SAP)

Other favourites:

High Performance Interconnect Solution for MySQL Cluster
(Einar Rustad)

2006-04-26 14:50:00 - 2006-04-26 15:35:00

MySQL Migration Toolkit
(John Bradford, MySQL, Michael G. Zinner, MySQL AB)

Other favourites:

MaxDB: Easy Admin & Cool Features
(Roland Mallmann, SAP, Ashwath Kakhandiki)

MySQL Partitioning, Part 2 (Advanced)
(Philip Antoniades, MySQL AB)

Connector/ODBC 5.0 Features and Enhancements
(Mark D. Matthews, MySQL AB)

2006-04-26 16:30:00 - 2006-04-26 17:15:00

Web Performance and Scalability with MySQL
(Ask Bjørn Hansen,

Other favourites:

InnoDB: Features and Latest Enhancements
(Speaker: To Be Determined)

FeedBurner: Scalable Web Applications Using MySQL and Java
(Joe Kottke, FeedBurner)

2006-04-26 17:20:00 - 2006-04-26 18:05:00

InnoDB: Designing and Configuring for Best Performance
(Speaker: To Be Determined)

Other favourites:

Tuning MySQL5 SQL and Stored Procedures
(Guy Harrison, Quest Software)

Using Embedded MySQL as a High Performance Alternative to Traditional Filesystems
(George Schlossnagle, OmniTI Computer Consulting, Inc.)

2006-04-26 20:00:00 - 2006-04-26 21:30:00

MySQL Quiz Show

2006-04-27 08:30:00 - 2006-04-27 09:15:00

The Ubuntu Project: Improving Collaboration in the Free Software World
(Mark Shuttleworth, Ubuntu / Canonical Ltd)

2006-04-27 09:15:00 - 2006-04-27 10:30:00

Wikipedia, Open Source, and Knowledge Communities
(Mitchell Kapor, Open Source Applications Foundation (OSAF))

2006-04-27 10:30:00 - 2006-04-27 11:15:00

Plugging Your Applications into the MySQL Storage Engine Layer
(Brian Aker, MySQLAB)

2006-04-27 11:20:00 - 2006-04-27 12:05:00

Confession Time: Deadly Sins Using MySQL and PHP
(Arjen Lentz, MySQL AB)

Other favourites:

Dynamic SQL in Stored Procedures
(Konstantin Osipov, MySQL AB)

MySQL GIS: Overview and Tools
(Jeremy Cole, Yahoo! Inc.)

2006-04-27 13:30:00 - 2006-04-27 14:15:00

Extending MySQL Made Easy: Plugin API (FULLTEXT parsers, Storage Engines, and More)
(Sergei Golubchik, MySQL AB)

Other favourites:

JJSF, AJAX, MySQL, and Component-based Web Development
(Fima Katz, Exadel, Inc.)

MySQL Performance Landscape
(Peter Zaitsev, MySQL, Inc.)

Demands On a Storage Engine for Planning and Budgeting
(Juergen Faisst, Thinking Networks AG)

2006-04-27 14:20:00 - 2006-04-27 15:05:00

Ruby on Rails
(Speaker: To Be Determined)

Other favourites:

Growing Your Business; Strategizing for the Future
(Laura Merling, SDForum)

From Green Screen to Web Screen
(Hans Zaunere, New York PHP, Chris Hendry)

2006-04-27 15:30:00 - 2006-04-27 16:15:00

MySQL Movie Magic
(Milton Ngan, Weta Digital Ltd)

How to get a MySQL copy from the development source?

You might know that you can install a MySQL copy from the development source tree and that it's perfectly documented in the MySQL manual.

However, many people might not have tried it for themselves, maybe assuming that it's very complicated. But I can tell you, it's easier, as it looks - so maybe this little article can encourage you to give it a try ;-).

First you need a Linux PC (maybe the new gratis VMWare can help you to install Linux without losing your current installation). I have (quite an old) test PC with a Pentium processor (x86 architecture) with SuSE Linux 10.

First I created a directory for the MySQL 5.1 development source installation. I used /MySQL51 - you can put it anywhere you like, of course.

I also assume that you try it on a PC where security isn't such a big issue. So we do all our work with user 'root' - although you should normally secure your MySQL installation as it's described here.

So you start with:
mkdir /MySQL51
cd /MySQL51
sh bk-client.shar
cd bk_client-1.1
make all
cd ..

So you have installed your BitKeeper client and included the BitKeeper directory into your path variable. You should know be in your /MySQL51 directory again.

Here you issue the command to download the latest MySQL 5.1 development version:
sfioball -r+ bk:// mysql-5.1

Dependent on your bandwith, this can take quite an amount of time.

If the download is finished, take a look into the BUILD directoy - here you find some pre-defined compilation scripts. I normally use the compile-pentium-max script (of course you have to take the one that suits to your architecture), but you can also use a debug script to be able to see the debug output when you do your testings (chasing bugs and stuff ;-)).

So (from your /MySQL51 directory) execute the following commands:
cd mysql51
BUILD/compile-pentium-max (or BUILD/compile-pentium-debug-max)

This again can take quite a while, depending on the speed of your system.

Then you can configure your new MySQL server, as described in the Unix Post Installation chapter in the manual.

To upgrade the development source installation, change to the /MySQL51/bk_client-1.1 directory and add again the path to your PATH variable (unless the path variable isn't still in there):

Then change to /MySQL/mysql-5.1 and download the changes:
update bk://

At the end, run the compile-pentium-max script (or whatever script you used) to re-compile the upgraded installation.

Sunday, March 05, 2006

Another call for help on a bug report

A few months ago, I already asked for help to make a bug reproducable and it worked great, so I'd like to try it again, to find out, why a bug occurs on some occasions, but not on others.

It's about Bug report 17204. It is about stored procedures that execute successfully when they are executed for the first time, but executing them again leads to server crashes. This happened on both MySQL 5.0.18 and 5.1.7 in both Windows and Linux.

If you have any hints, please add your comments to the bug report.

Saturday, March 04, 2006

Smart moves by MySQL AB

Recently, Oracle stole a little the show on the database market by acquiring Innobase and Sleepycat, who are producers of two storage engines (InnoDB and BerkeleyDB) that are in use by MySQL.

Now there seems to be a clear response. MySQL has hired former Firebird developer Jim Starkey and MySQL has a new CTO: Taneli Otala - read Kaj Arnö's interview with Taneli.

The final statement on this interview declares a clear goal: "Definitely. I want to be part of the team building the world's best database!". The times when MySQL targeted itself mainly to drive small and medium web based applications are definitely over!

The fact that MySQL is hireing new developers is just another indication that underlines that MySQL is moving forward towards the "big competitors".

By the way - have you figured out the new features of MySQL 5.1?

There's also a new page at that gives a little introduction to the new features of MySQL 5.1 with the intention, to encourage's users to test the new features and help to get MySQL 5.1 free of bugs.

Wednesday, March 01, 2006