From: Claudio Nanni [mailto:claudio.nanni@stripped]
Sent: Wednesday, February 25, 2009 3:51 PM
To: Jerry Schwartz
Subject: Re: Upgrade story / request for insight
probably does not help you very much and excuse me in advance for this,
[JS] No apology necessary.
but there is little use in having a development/preproduction system on
none of the issues you faced with windows (services installation probably)
will show up on a CentOS box.
[JS] You are right, of course. If I had my druthers, I'd have matching
systems. I do all of my coding on my Windows desktop, though, so actually
running the code there saves me a lot of FTPing of files back and forth. I'm
the whole development team, by the way.
I also find it easier to work with UTF-8 / Unicode issues on my Windows
platform, mostly because that's what I'm familiar with.
In particular an upgrade which involves filesystem and services installation
is quite different between Win and Linux.
[JS] Of course. To be honest, I'm not as savvy as I'd like to be when it
comes to upgrading software on a Linux box. I expect I will need some
hand-holding when I actually upgrade MySQL on our production server.
From a 'service' point of view (MySQL server) there will be no difference
for any client in accessing a Win or a Linux box,
[JS] That's why I am doing what I'm doing.
but from a maintenance point of view you are facing problems that are
peculiar of the platform,
in windows in fact mysql is installed as a service so you should check
windows services as well.
[JS] Oh, yes, I went through the services several times.
In any case I strategy I always used for migration is to install the new
version and export / import data,
this is good because you have two parallel servers up and you can compare
and test both of them,
provided you are using different 'sockets', that is different PORT if just
using TCP/IP connection method.
[JS] I know you can have more than one instance of MySQL running on
different ports, but I thought you would only have one installation of the
code. I suppose that isn't strictly true, if you are careful, but it isn't
something I'm ready to tackle.
2009/2/25 Jerry Schwartz <jschwartz@stripped>
My ultimate goal is to upgrade a production server (MySQL 4.1.22 on CentOS)
to a modern 5.1 release. My development system is a Windows Vista x86
machine, and although the process is not that similar I decided to try an
upgrade there. (I've never done one.) I figured this would give me some
insight as to whether or not our code would break.
The upgrade from 5.0.45 to 5.1.31 was a horror show! I downloaded the 5.1.31
msi package, and ran the wizard. The Windows notes seemed to say that for
this upgrade I didn't need to uninstall the old one, and that might have
been a mistake. In any case, the wizard attempted to install 5.1.31, but
after it asked me if I wanted to configure an instance it just disappeared.
I ran the instance configuration wizard by hand, and it showed two different
server versions. The older one was apparently still running. I tried
shutting it down; I tried deleting it with the sc command, which (after a
reboot) did make it go away; but the instance configuration wizard still
listed it. In fact, it still listed it after I renamed the MySQL 5.0
The 5.1 server would attempt to start, but would fall over dead immediately.
I uninstalled 5.0, and that made no difference. I uninstalled 5.1, and when
I reinstalled it I got the same basic behavior.
Eventually I went through the registry and wiped out every reference to
MySQL that I could find. After a reboot and one last installation of 5.1,
things started to work right. From there on I was able to run mysql_upgrade
and get myself back on the air.
Can anyone guess where I went astray?
The Infoshop by Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032
860.674.8796 / FAX: 860.674.8341