Long-awaited MySQL 5.0 makes its debut

27.12.2005

MySQL did enhance security in an unexpected -- but pleasantly surprising -- way. In previous releases, a hacker or rogue system admin could gain control of your MySQL database by using Notepad or any other text editor to view the file that stored the user accounts and manually change information; he could also access the table itself to alter data or create and delete tables.

Thankfully, this is no longer possible in MySQL 5.0, as log-in accounts are now stored in the database account. This change greatly increases my comfort with implementing MySQL in a production environment, as I'm sure it will for many other MySQL admins.

The fourth new feature, triggers, works very much as they do in other databases. Triggers are event-driven stored procedures that are attached to a specific table; the trigger code will fire for any write, even one that occurs on that table.

Again, the triggers have a couple of bugs due to this being the first implementation by MySQL. The two most significant trip-ups are that a MySQL 5.0 table's trigger isn't dropped when the table is, and altering a table with a trigger on it can cause database corruption. You can avoid these situations, but be aware of them before you implement triggers in your code. MySQL also doesn't support "instead of" triggers like the major databases -- not a huge shortcoming, but it would be a nice tool to have.

Database Determination So, where does version 5.0 put MySQL in the global database market? MySQL has made tremendous strides in bringing its database to standard, but it's only now implementing features that the big four have had for over a decade. MySQL also doesn't have integrated Windows security, something I consider a prerequisite for running a database on Windows with any level of safety.