I’m getting things ready to upgrade my aging installation of MySQL
5.0.95 on my CentOS 5 LAMP server. With the impending EOL date of 3.31
fast approaching my sense of doom and urgency is increasing.
I see that the necessary packages are available in @base and @updates –
mysql51 and mysql55 respectively but from all the information I’ve read on the matter so far I’m left with a few questions I don’t yet have answers to.’
What I’ve done so far and thankfully was able recover from:
1. installed and enabled to epel repo
– ran yum remove mysql
– this command wanted to remove a few things I wanted to keep in
place like dovecot and a few php53 packages. I didn’t want to have
to go back and clean up any messes that would create. So, I used
the rpm -e –nodeps command to remove the MySQL packages.
– because this was a redhat repo it installed the binaries in a
total different place AND tossed all my existing data directories.
and yes I spit coffee all over my laptop screen and yes, I did have
data dir backups and a dump of MySQL data. HOLY CRAP!
2. removed the epel packages
– disabled this repo – for ever at least for now…
3. reinstalled the old MySQL 5.0.95 packages – because I was
– reset roots password
– imported all the databases from the dump and checked my web apps
– everything working again.
– I did have to recreate the mysql.servers table to be able to flush
I understand that mysql51 is available in @base for the sole purpose of upgrading old MySQL and mysql55 is in updates for getting to 5.5, however here is where things get a little fuzzy for me:
Steps for Upgrading (as I understand them):
1. Take a dump of all mysql database using mysqldump –add-drop-database
2. Stop mysql services
3. make a backup of data directories: /var/lib/mysql (but its not
_supposed_ to remove the data directories.)
3. yum remove mysql mysql-server (again, it will include a few things I
don’t want removed. so, i’ll have to use rpm -e –nodeps and list the packages for removal then issue yum clean all.’
4. yum install mysql51
5. start mysql service
6. run command mysql_upgrade…
(here’s where things start getting fuzzy)
is this command to be run from the commandline or
should I log into mysql as root user and run the command?
at this point I will have mysql 5.1 installed and running but to get
up to 5.5 am I expected to yum remove 5.1 and then yum install 5.5
from @updates and repeat steps 5 and 6 OR simply run the command
yum update mysql51* to catch all already installed mysql51 packages
to and then run the mysql_update command to bring data up to date
with the current mysql install?
THank you for your kind attention…