| Review: The Install Process for MySQL has steadily improved
Feature: Is it up to Enterprise Standards to compete with DB2 and Oracle
MySQL is THE database in the firm of LAMP - Linux, Apache, MySQL, PHP/Perl/Python and partners. One of the ways it made itself senior partner in the firm was to be cross platform almost from the get go. What do I mean by cross platform? Well MySQL was one of the first "Linux" databases to find its way to Mac, Solaris, BSD, and that other OS. Yep, WAMP. Windows, Apache, MySQL and PHP. Some Open Source projects were more cross platform then others. And Apache, MySQL, and PHP all made the decision to be just
that and all have had ever improving installs and getting started docs for their Windows versions(see here for excellent Windows installer of WAMP). The result has been all have prospered well in and beyond the LAMP space.
In fact, that is the second critical aspect of MySQL - it is constantly improving. One can see it in the features of MySQL 5.0 adding triggers, stored procedure, constraints and more sophisticated clustering and parallel operations. This after MySQL 4.0 had added subqueries, more complete SQL syntax, and Views among new features to the MySQL fold. In addition, MySQL has a clever modular database engine strategy. ISAM, InnoDB, plus nearly half a dozen other database engines each pluggable into the main MySQL database framework depending on the end user This is a strategy that some of the big boys are starting to emulate as well. IBM has Derby, Informix and DB2 Lite. Oracle has BerkleyDB, InnoDB, Oracle Lite, etc. But none of these IBM or Oracle engines fit into the overall framework like MySQL. Only Sybase's SQL Anywhere comes close as Anywhere can carve up its engine into mix and match pieces depending on what clients need and can afford either cost or memory wise in their embedded database apps.
So MySQL knows home improvement - constant and unrelenting. And MySQL has to run hard given two facts. First, it is now reaching into the enterprise caliber space coming up against DB2, Oracle, SQL Server and Sybase. Second, all of the major database vendors are competing more directly with MySQL by giving away their database and key database design tools for free. So our question is whether MySQL has run fast enough in the ease of use and speed of its install and getting started processes.
Installation of MySQL 5
It used to be easy to find the free download area for MySQL but lately its has become a bit more out of the way. I downloaded the Windows version here - and at 87MB it is the smallest and fastest of the database downloads.(about 3-5 minutes on DSL connection). I then used Winzip to do a direct setup from the zipfile. Windows XP users can do the same from File Explorer.
The result is the starting splash screen for the install of MySQL 5.0 as seen on the left. For users familiar with the MySQL 3.x experience, this will be a completely wizard driven install, no piecing together of unzip, directory moves, and editing of ini and/or config files. The wizard completely manages the install process for users. So click next to get started.
Normally I take the easiest route on install, Typical. Or Complete to ensure that I get all the bells and whistles. But this time I am taking Custom because MySQL creates an install directory with blanks in the filename. I know Windows XP SP2 and Vista are supposed to have all these problems of blanks in files names worked out; but there are Windows apps that do not.
So for the sake of peace on the laptop and the ability to determine exactly what gets installed and where, I will use the Custom install to redefine where MySQL gets loaded. Click Next.
Note that MySQL will install all that is necessary for database usage under Typical, but not all of the development APIs especially for C/C++ while the Complete install has test databases and tutorials that I am not interested in but first time users may be interested in. So newbie users may want to take the typical or Complete choices. Click Next.
MySQL's installer wants to put the files into ..\MySQL Server 5.0\, we
click the Change button and make that ..\Server5.0\ . In addition, I include all the C include and lib files, the benchmark suite (which we will have occasion to use later), plus some of the the scripts and examples. This adds about 8MB to the download but MySQL is still easily half the size of DB2 and OracleXE.
In addition note that MySQL loads its complete documentation file in Windows Help format in contrast to the partial help files provided by DB2 and Oracle. The bad news is that MySQL's help file at times is a hodge podge in comparison to the complete documentation available from DB2 and Oracle as separate but free downloads. Click Next.
And "Thats all Folks" as Porky Pig would say. But as in DB2 and Oracle, the summary page gives you a chance to backtrack - and in fact that is exactly what I did when I noticed that MySQL was going to install to ..\MySQL Server 5.0\ . So this review capability is useful.
Also do not worry MySQL 4.x and 3.x users - MySQL has a post install Wizard that is going to take you through all the steps to setup MySQL's .ini file. So it is safe to click Install now.
The Install step took less than a minute on our 1GB, 2.0GHz dual core machine using Windows Media Center with 70GB of free diskspace. As you can well imagine, install times will vary depending on your systems features and loadings. However, we are not done - setting up the my.ini file and configuring MySQL is no simple process.
This is the first screen and ordinarily I would sign up and register. The problem is that I was doing the install offline and not close to any Internet for literally miles around. Next time, I will do the install while connected to the Internet because I like to get these registration and activation things done right away.
Not that I like Activation schemes. I am having a wonderful time with about half a dozen software vendors now that my Toshiba laptop has died after 1 1/2 years of service leaving me with no way to return the Activation keys so I can get new ones for my new laptop.
Now MySQL does not use Activation keys, but it is getting more aggressive about support and service. This may be a reflection of the pressure the company is under now that all the Enterprise vendors are attacking it by giving away their Lite versions for free plus adding free BI software into the mix as well. Click Next.
So now the install is finished and I strongly recommend to users that they keep the "Configure the MySQL Server now " option checked and let the Install wizard pass the process on to the Configure wizard.
The alternative is to initialize the mysql.ini file yourself - There are over two dozen settings in the file with fairly copious comments and the helpfile to resort to if you want to customize yourself. But my rule is unless there are specific steps I know exactly how to take, let the system do the configuration the first few times - to speed up first start up. Also most databases, MySQL included, allow for post-start up tuning.
Again I strongly recommend the Configuration Wizard. Click Finish for the first part of the database install and the start of the Configuration step.
The Configuration Wizard
Notice what MySQL is saying here - you can configure this database server instance and several more like it if need be.. Like IBM with DB2 Express C, MySQL allows you to have several instances of the same server on the same machine - think development, test, and production servers. This is important because Oracle, Microsoft and others do not allow the same for their "free" database versions. In fact, this raises the the value of a What is Allowed review/tutorial for all the free databases. Hmmm ... my work plate is ever expanding.
In the meantime be prepared to answer the typical database configurations questions about uses, users, and security settings. This means users will have to have all the their database usage requirements well spelled out and documented. Once you are ready, click Next to get to start configuration.
Normally I would take the the detailed configuration steps, but in the interest of a)getting the install done quickly and b)because this is the first MySQL install on this machine, I switched to Standard Configuration. Also as noted above, it is really fairly simple in the new MySQL GUI Administrator to make configuration changes as required. Users have the benefit of two help files for the task - the big, comprehensive MySQL Help file and the targeted help in GUI Administrator.
The result of choosing the standard configuration was the elimination of about 7 configure steps which I know I can do in MySQL Administrator but without the excellent guidance provided by this Configuration wizard. Like George W, I am the decider for better or for worse. Click Next to continue configuration.
The screen at the left is the start of the Instance Configuration. Depending on your choice here, MySQL sets what database engine is to be the default for any tables created in the database plus a number of memory and other performance settings for caches, locking, and other database services.
Note in the case of the Server Machine, where MySQL will be running with other applications, MySQL configures itself to be a good citizen. This means it will not be hogging memory and disk space resources which it can use (and does in the case of the Dedicated Machine settings). Since I am targeting most of my applications to be in the Server Machine category - I choose that as my target machine. Readers may have other choices to make here. Depending on your choices there will be additional wizard dialogs to fill in. But rest assured this is a well tuned install/configuration process including Back options - so it is hard to get stuck. The only thing that is missing is the Help buttons avialble with DB2 Install. When done, click Next.
Here is the user settings dialog. I would be very careful here. The default password for "root" is being assigned. Do not forget this password. In fact, because of the top-level administrator privileges accorded to "root" - it pays to use an 8 by 2 password - at least eight characters in length and incorporating at least two numbers.
Also be careful about the remote access privilege check box. I am checking this because I want to have remote access to my created databases for testing and admin purposes. But this can be a back door into MySQL - it is something hackers are looking for. Hence an 8 by 2 password is essential here.
Finally, note the check box for an Anonymous Account. Yes, this can be convenient for testing purposes. But it also is a superhighway into your database for hackers. This is a behind the firewall, isolated machine only setting.
Click next for the closing steps for configuration.
I have combined the last two steps of the Configuration dialog at the finish because they are related. The first dialog starts the MySQL configuration and the second on the right summarizes the results of the configuration. I have done only 4 install configurations and I never have had a problem in that small sample.
However, I am concerned because like Oracle, MySQL does not provide a Help button at each step of the install and configuration dialog. In contrast the DB2 Express C install does and that certainly helped myself and a colleague when we were doing an install on his machine. I am inclined to use the Back button to make corrections a)if I really am pretty sure I know what has gone wrong in the configurations or b)I know I will get Help if I do step back.
The last step is to confirm on the MySQL Command Line prompt that the database is up and
running properly. Actually an excursion using MySQL's Administrator or the MySQL Query Browser could do the same. The advantage of the Administrator is that it is simple to add users, make specific configuration changes and/or begin adding the database instances and tables you may be planning to use and load right away. See our reviews of the MySQL Migration Toolkit and a more conventional manual load.
The MySQL install process is greatly improved over 3.x and early 4.x installs. It is more on par with what is available from its competitors. However, one can see by looking through the my.ini file with all its comments has grown up from being an Apache-like "edit the config or .ini file. Now these inline comments are helpful, but I would certainly appreciate a Help button on each step of the Wizard like IBM's DB2.
But I do like fact that MySQL does install its complete help file, the download and install steps are pretty fast, and in 4 recent installs I have not had a problem (oh curses, now I have spooked that record). In sum, MySQL has moved up well into the Enterprise category for its installs.
Developers Weblog Graphics Reviews and Tips
Top of Page Home Tutorials