La nueva versión de Jira 8.X utiliza en MySQL un tipo de collation utf8mb4_bin por lo que si venimos de una versión anterior con una base de datos que utilice otro tipo de collation es recomendable cambiar el tipo de collation después de realizar la actualización a la versión 8.
Nota: Esta solución sólo aplica para instancias con MySQL 5.7 y Jira 8.X.
Acciones Previas
- Realizar una copia de seguridad del directorio de instalación de Jira.
Pasos a seguir
En primer lugar vamos a realizar una exportación de todos los datos en un fichero de backup xml. Para ello, dentro de Jira, nos dirigiremos a Configuración-Sistema-Importar y Exportar-Sistema de copia de seguridad.
Ponemos el nombre que queremos que tenga el fichero de backup y pulsamos en Copia de seguridad para que se inicie el proceso.
A continuación, nos conectaremos a nuestro servidor MySQL y ejecutaremos el siguiente comando para crear una nueva base de datos.
CREATE DATABASE nombre_BBDD CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Una vez tengamos nuestra nueva base de datos creada, asignaremos los permisos necesarios al usuario que utilizaremos en Jira para conectar con la base de datos. Para ello ejecutaremos el siguiente comando:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on NOMBRE_BDD.* TO 'NOMBRE USUARIO'@'JIRA_SERVER_HOSTNAME' IDENTIFIED BY 'CONTRASEÑA'; FLUSH PRIVILEGES;
Ahora nos conectaremos al servidor de aplicaciones de Jira y pararemos el servicio de Jira.
Continuaremos dirigiendonos al directorio de instalación de Jira para borrar el fichero dbconfig.xml. Este paso es necesario para que posteriormente, cuando iniciemos de nuevo la instancia de Jira, nos aparezca el asistente para configurar la nueva base de datos que hemos creado.
Iniciamos el servicio de Jira, nos conectamos vía web a nuestra instancia y nos aparecerá el asistente de configuración.
Seleccionamos «La configuraré yo mismo» y pulsamos Siguiente para continuar.
Seleccionamos la opción «Mi propia Base de Datos», rellenamos los datos de conexión (apuntaremos a la nueva base de datos que creamos anteriormente), pulsamos en Siguiente y esperaremos a que finalice la configuración de la base de datos.
Vamos a importar los datos del backup que realizamos al principio. Para ello pulsaremos sobre importar sus datos.
Por defecto Jira tiene 2 carpetas para los ficheros de copias de seguridad.
La primera carpeta se llama Export y es donde se guardan las copias de seguridad que realizamos (si quereis saber la ruta completa podeis verlo en la pantalla donde realizasteis la copia de seguridad).
La segunda carpeta se llama Import y aquí es donde guardaremos aquellas copias de seguridad que queramos restaurar.
Dicho esto, vamos a copiar el fichero de backup que hicimos al principio desde la carpeta Export a la carpeta Import.
Rellenamos el nombre del archivo que contiene nuestra copia de seguridad (importante no olvidarnos de la extensión .zip) y pulsaremos en Importar para que se inicie el proceso de importación.
Una vez haya finalizado el proceso de importación sólo tendremos que parar nuevamente la instancia de Jira, volverla a iniciar y ya tendremos corregido el error del collation de la base de datos.
Espero os haya servido de utilidad.
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.