Actualización a MySQL 5 en RHEL 4

En este post explico cómo actualizar a MySQL 5 en Red Hat Enterprise Linux 4. Esta versión del sistema operativo tiene ya unos cuantos años pero hay muchos proveedores de hosting (entre ellos theplanet.com) que siguen ofertándola. Los paquetes rpm ofrecidos por RedHat incluyen la versión 4 de la base de datos, por lo que es necesario instalar los paquetes obteniéndolas de otra fuente.

El primer paso previo a cualquier actualización de MySQL debe ser siempre realizar una copia de seguridad de las bases de datos. Para ello lo más sencillo es ejecutar el siguiente comando, que crea un archivo comprimido con un dump de todas las bases de datos existentes.

mysqldump -p --all-databases | gzip > mysql-dump.sql.gz

Una vez hecha la copia de seguridad el siguiente paso consiste en obtener los rpm que hay que instalar. Es posible obtener la versión más reciente de la web de MySQL. Hay que descargar los paquetes shared-compat, client, server y devel. En mi caso he descargado estos paquetes mediante wget.

wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.45-1.rhel4.i386.rpm/from/http://mysql.he.net/
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-devel-community-5.1.45-1.rhel4.i386.rpm/from/http://mysql.llarian.net/
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.45-1.rhel4.i386.rpm/from/http://mysql.mirrors.hoobly.com/
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-server-community-5.1.45-1.rhel4.i386.rpm/from/http://mysql.he.net/

A continuación es necesario desinstalar los paquetes existentes, pero antes es necesario detener el servicio de MySQL, con service mysqld stop. El siguiente comando nos dirá los nombres de todos los paquetes que empiecen por «mysql».

rpm -qa | grep -i '^mysql-'

Podremos desinstalar estos paquetes con el comando rpm --nodeps -ev, indicando el nombre de cada paquete. Cuando se desinstale el rpm correspondiente al servidor se creará una copia del archivo de configuración /etc/my.cnf con el nombre my.cnf.rpmsave.

Tras desinstalar la versión 4 de MySQL se pueden instalar los nuevos rpm.

rpm -Uvh MySQL-shared-compat-5.1.45-1.rhel4.i386.rpm
rpm -Uvh MySQL-devel-community-5.1.45-1.rhel4.i386.rpm
rpm -Uvh MySQL-client-community-5.1.45-1.rhel4.i386.rpm 
rpm -Uvh MySQL-server-community-5.1.45-1.rhel4.i386.rpm

Una vez instalados los rpm ya estaría instalada la versión 5 de MySQL, sin embargo es necesario crear el archivo de configuración y actualizar o restaurar las bases de datos.

Para crear la configuración hay que renombrar el archivo my.cnf.rpmsave a my.cnf, o utilizar alguno de los ejemplos de configuración existentes en /usr/share/mysql. A continuación ya se puede lanzar el servidor con service mysql start.

Para actualizar las bases de datos hay que ejecutar el comando mysql_upgrade, que intenta para cada tabla de cada base de datos actualizar sus características a las propias de MySQL 5. Si esto no es posible mostrará una serie de errores por pantalla. En este caso lo más conveniente es restaurar las bases de datos a partir del archivo de copia de seguridad que hicimos al comienzo.

zcat mysql-dump.sql.gz | mysql -p
Twitter Digg Delicious Stumbleupon Technorati Facebook Email

Los comentarios están cerrados.