- Based on Mysql 5.5.x branch
- Uses the design from Fedora, RHEL, and CentOS
To Upgrade to Mysql 5.5 on CentOS/RHEL/Fedora
Steps 3 and 4 only apply if you are upgrading from MySQL 5.0.x See version differences in following link http://dev.mysql.com/doc/refman/5.1/en/upgrading-from-previous-series.html
Step 1) Set up the atomic channel (See Getting_Started):
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
Step 2) Upgrade to Mysql 5.5
yum upgrade mysql
Step 3) MySQL 5.1 removed the BERKLEY storage engine. Since it was not commonly used, to save resources it was recommended this be turned off. You must comment the following out or remove it from /etc/my.cnf or MySQL 5.1 will not start!
Step 4) Update your MySQL tables
mysql_upgrade -u root -p
or for Plesk environments (and then the NOTE - this is the exact same login as the Plesk superuser e.g. use "-u admin" and then your admin password):
mysql_upgrade -u admin -p
Step 5) Restart mysql
Mysqltuner, an excellent tool for investigating performance issues with mysql
yum install mysqltuner
MySQL Library Differs
When using some tools (most notably PHPMyAdmin) you may get a notice like this
Your PHP MySQL library version 5.0.90 differs from your MySQL server version 5.1.50. This may cause unpredictable behavior.
This message can be safely ignored. The reason that the library cannot be upgraded with the server is that, in Enterprise Linux, everything is compiled around the old library. Upgrading the library would break a number of programs compiled against it so, for compatibility's sake, it must remain as the one provided by the vendor directly.
If you REALLY need the latest libraries you can recompile php from the SRPMS.
Problems with MySQL databases and PLESK 9 after upgrade
If you get the following error after upgrading when you try to log into PLESK then you need to upgrade your database tables:
ERROR: PleskFatalException bad column in table: `backup_time` time NOT NULL default '00:00:00', [...]
Issue the following command from the shell:
mysqlcheck --check-upgrade --all-databases --auto-repair -u admin -pyouradminpassword
cat /usr/share/mysql/mysql_fix_privilege_tables.sql | /usr/bin/mysql --no-defaults --force --user=admin --password=youradminpassword --host=localhost --database=mysql
This script updates all the mysql privilege tables to be usable by the current version of MySQL.