Thursday, September 6, 2012

MySQL Server installer on Windows

I don't what makes this so hard for MySQL Developers at Oracle. Look, I know you guys are trying hard, that's not it, and I also know that chasing SQL Server is a priority, and that is fine. But for that to work, the MySQL MSI Installer has to get better! It just has to. Like some basic issues like these:

  • You can not use the MSI installer to install two MySQL servers on the same box. If the installer seems an old installation, it insists on upgrading it if you are installing a newer version, and if you are installing an older version, well, that will be refused.
  • You cannot, using the MSI installer, install both 32 and 64-bit versions on the same box. If you try that, even if the versions are the same, the second install insists that what you have already installed is newer than the one you are installing, although the have the same version number, but one is 32 bit and one is 64 bit.
  • In the Instance configurator when it comes to the data directory location, if you select "Installation path" you might think that the data directory will be placed where you are installing MySQL right now. Think again, this is not so. What this means is that if you install MySQL on the box, and MySQL hasn't been installed there before, then Installation path means just that, So let's assume that you choose to install MySQL in C:\foo, then the data directory will be C:\foo\data. Which is fine. If you then uninstall this version of MySQL and then install some other version of it, this time in, say, C:\bar, then you would image that the data directory would be C:\bar\data, but it will still be C:\foo\data. I'm not sure where this is stored, but it is somewhere and it's really annoying.
So, if a developer wants to run with the 32-bit version of the MySQL library (say because he / she is using a 32-bit driver for MySQL), then you cannot use the MSI. If someone would have given this an extra round of thinking, then the MySQL 64-bit server installation, would have included both the 32-bit and the 64-bit versions of the client. Right? I'll see if I have the bandwidth and energy to report these issues as bugs.

Will the MySQL Installer help then? That is a 201 Mb package that contains, according to the download page "All MySQL Products. For all Windows Platforms. In one package." Right, that should do the trick then? Nope, once you have made the choice to install MySQL Server, be it 32 or 64 bit, you can only install one of them.

Look, I'm trying hard not to be a grumpy old man here, but it is difficult (partly because I'm getting old I guess). I am aware that I can always download and unpack the ZIP archive (which is what I will do now), but please folks, this is on Windows and I'd rather stay away from that on that platform. And Oracle / MySQL took the effort to create not just one, but 2 installers, but none of them allow you to install 2 MySQL servers on the same machine, which is too bad.

And by the way, no just because I am installing MySQL and then uninstalling it, and then installing it again, doesn't mean I want to use the same data. It just doesn't.

And I am afraid that if you think MariaDB is any better, think again, that is NOT the case. Too bad.

/Karlsson

8 comments:

Peter Laursen said...

Welcome in the company!

http://www.webyog.com/blog/2012/05/10/circus-oraclimus-installatus-upgradimus/
http://www.webyog.com/blog/2012/08/19/mysql-windows-installer-mess/

peter
(Webyog)

Peter Laursen said...

+ http://bugs.mysql.com/bug.php?id=60830

(In MariaDB 32 bit and 64 bit servers of same versions identify themselves differently to the system and they can be installed in parallel)

wlad said...

Anders, can you expand on why MariaDB is not any better? Can You can install 32 and 64 bit on the same machine. It does remove data directory when uninstalling, but yes, it asks for confirmation.

Anders Karlsson said...

wlad!

I have to admit I didn't do any extensive testing with MariaDB. What I did was this: With MySQL 5.5.27 already installed on the machine, I tried to install MariaDB 5.5.27 to try it, using the MriaDB MSI installer. It refised me installing it as it calimed I already had a newer MariaDB install, which just is not the case (I had a newer MySQL there, but even if older or newer, I wanted BOTH installed anyway! I wanted to test MariaDB in parallel with MySQL. Close, but no cigar).

/Karlsson

Peter Laursen said...

I have absolutely no problems with having an Oracle/MySQL version higher than the MariaDB version I am upgrading to (when upgrading MariaDB).

I have 4 diiferent Oracle/MySQL versions installed and 3 MariaDB (+ 1 InfiniDB). The only ones that cause upgrade problems for me is Oracle/MySQL. And with this one I am not able to upgrade anything at all. Doesn't matter if I use the 'stand alone installer' or the 'unified installer'. My best guess is that the 2 are incompatible and if you have ever used both in same tree your system records are in disorder.

wlad said...

Anders, you must have mixed something up during your experimentation.

There is no MariaDB 5.5.27 yet(currently in preparation). Also, MariaDB installer does not conflict/upgrade MySQL since different products got different product GUIDs. I suspect (my crystal glass tells me) you just tried MySQL's MSI and not MariaDBs.

Anders Karlsson said...

wlad!

Oops. Sorry, that was MariaDB 5.5.25! But of course, I'll give it another shot, mistakes do happen!

Cheers
/Karlsson

wlad said...

Dear Anders,
I hope in the last 2 weeks you coud find time to check that MariaDB installer does not suffer the same bugs as MySQL's one, and if so you can fix the last statement in your blog entry.

In the meantime 5.5.27 was also released you may want to try it if you wish.

Thank you!