CentOS 7: Actualizar MariaDB 5.5 a Maria DB 10.4 y Conector ODBC

Ayer, por motivos que no estoy aquí a explicar, tuve que actualizar el motor de la base de datos de un servidor de MariaDB 5.5 a MariaDB 10.4; esto en CentOS 7. Esta es la guía que que seguido y que me ha funcionado perfecto; resumiendo, primero se saca una copia del archivo de configuración del MariaDB instalado:

cp /etc/my.cnf /etc/my.cnf.bak

se para MariaDB:

systemctl stop mariadb

y se eliminan todos los paquetes de la vieja versión:

rpm -e --nodeps galera

yum remove mariadb mariadb-server

si en la /etc/yum.repos.d/ tiene un respositorio anterior de MariaDB, lo renombran; en mi caso:

mv /etc/yum.repos.d/MariaDB.repo /etc/yum.repos.d/MariaDB.repo.bak

luego crean el respositorio de MariaDB 10.4:

nano /etc/yum.repos.d/mariadb.repo

se copian las siguientes lineas:

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.4/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

se guardan los cambios y limpia la cache de la paquetería y se instala la nueva versión:

yum clean all

yum install MariaDB-server MariaDB-client net-snmp perl-DBD-MySQL -y

se vuelve a copiar el backup del archivo de configuración de MariaDB:

cp /etc/my.cnf.bak /etc/my.cnf

se habilita el arranque automático de la base de datos:

systemctl enable mariadb

se inicia:

systemctl start mariadb

ultimo pasaje, IMPORTANTISIMO, es actualizar las base de datos presentes con el comando:

mysql_upgrade -u root -pcontraseña

A partir de este momento todo debería funcionar todo correctamente. En mi caso el problema fue que tenía un Asterisk instalado en ese servidor que empezó a dar problemas con continuos crash y relativos archivos de core escrito en la carpeta /tmp que casi me llenan el disco. ¿Qué hice? Primero maté, figurativamente, el proceso de Asterisk:

pas aux | grep asterisk

kill numeroproceso

luego inicié asterisk con el comando:

asterisk -cvvvvvvvvvvvvvvvvvvvv

y me di cuenta que el sistema fallaba al momento de cargar el modulo res_odbc.so pues el problema estaba relacionado con ODBC. Lo primero que hice, para confirmar, fue intentar una conexión, vía ODBC a una de las base de datos configuradas:

isql basedatos usuario contraseña

en respuesta el sistema me arrojaba un error parecido al de Asterisk. Pues me di cuenta que el problema de todo el asunto era la librería del conector ODBC → MariaDB, pues el paso a seguir fue descargar los archivos binarios del conector para CentOS 7 64bit:

cd /tmp

wget https://downloads.mariadb.com/Connectors/odbc/connector-odbc-3.1.11/mari...

descomprimir el paquete:

tar -xf mariadb-connector-odbc-3.1.11-centos7-amd64.tar.gz

y mirar el contenido hasta encontrar el archivo que necesitaba:

libmaodbc.so

presente en la carpeta /mariadb-connector-odbc-3.1.11-centos7-amd64/lib64/mariadb; lo he copiado en la carpeta /usr/lib64/ y luego he modificado la configuración de odbc:

nano /etc/odbcinst.ini

cambiando este bloque:

[MySQL]

Description = ODBC for MySQL

Driver = /usr/lib/libmyodbc5.so

Setup = /usr/lib/libodbcmyS.so

Driver64 = /usr/lib64/libmyodbc5.so

Setup64 = /usr/lib64/libodbcmyS.so

FileUsage = 1

con:

[MySQL]

Description = ODBC for MySQL

Driver = /usr/lib/libmyodbc5.so

Setup = /usr/lib/libodbcmyS.so

Driver64 = /usr/lib64/libmaodbc.so

Setup64 = /usr/lib64/libodbcmyS.so

FileUsage = 1

He guardado los cambio y he probado nuevamente la conexión:

isql basedatos usuario contraseña

cuyo resultado ha sido:

Luego he iniciado nuevamente Asterisk con el comando:

asterisk -cvvvvvvvvvvvvv

y como todo funcionaba bien:

CLI> core stop now

y para terminar:

systemctl start asterisk

¡Listo!

Moral: antes de cualquier tipo de actualización importante analizar detenidamente que programas están involucrados y buscar en la red si esos programas funcionan con la nueva versión. Además de eso tener siempre un plan B (backup del servidor recién realizado, copia de todas las base de datos, etc...)

Vota el Articulo: 

No votes yet
Evalúa la calidad del articulo
Subscribe to Comments for "CentOS 7: Actualizar MariaDB 5.5 a Maria DB 10.4 y Conector ODBC" Subscribe to VozToVoice - All comments