====== Actualización de MySQL 5.7 a MySQL 8 ====== {{indexmenu_n>19}} ===== Prerrequisitos ===== Para migrar de MySQL 5.7 a MySQL 8 debe estar actualizado como mínimo a la **versión NG 760 MR 52 de Pandora FMS**. * Abrir una ventana terminal con el usuario **root** e introduzca el siguiente comando: mysql --version Obtendrá una respuesta parecida a la siguiente: mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using EditLine wrapper * Realice un procedimiento de respaldo de datos. Consulte "[[:es:documentation:pandorafms:technical_annexes:07_backup_and_restore_procedures|Backup y procedimientos de recuperación]]" para más detalles. ===== Rocky Linux 8/AlmaLinux 8/RHEL 8 ===== * Detenga el servidor PFMS y el Agente Software PFMS: /etc/init.d/pandora_server stop /etc/init.d/pandora_agent_daemon stop * Detenga el servidor Apache web: systemctl stop httpd.service O bien: /etc/init.d/httpd stop * Haga un respaldo especial de la base de datos que sea compatible con MySQL 8: mysqldump -u root -p pandora \ --skip-add-drop-table \ --complete-insert \ --no-create-info> backup_pandora.sql * Haga un respaldo tal cual está hecho en MySQL 5.7 (un seguro adicional si tiene que volver a esta versión): mysqldump -u root -p pandora> backup_pandora_5.7.sql * Haga un respaldo del fichero de configuración de MySQL (''my.cnf''): cp /etc/my.cnf /tmp/my.cnf.BACK * Borre los repositorios de Percona 5: rpm -qa | grep Percona-Server | xargs rpm -e --nodeps * Instale los repositorios de Percona 8: dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y * Habilite los repositorios del paso anterior: percona-release setup ps80 * Instale Percona 8 dnf install percona-server-server * Restablezca el fichero ''my.cnf'': mv /tmp/my.cnf.BACK /etc/my.cnf * Modifique el fichero ''my.cnf'' para prescindir de ''query_cache_*'': sed -i -e "s/^query_cache_type.*/#query_cache_type/g" /etc/my.cnf sed -i -e "s/^query_cache_size.*/#query_cache_size/g" /etc/my.cnf sed -i -e "s/^query_cache_min_res_unit.*/#query_cache_min_res_unit/g" /etc/my.cnf sed -i -e "s/^query_cache_limit.*/#query_cache_limit/g" /etc/my.cnf * Si **no tiene un entorno con HA**, deshabilite los //log// binarios con la siguiente instrucción en la sección ''[mysqld]'': skip-log-bin Véase también "[[:es:documentation:pandorafms:complex_environments_and_optimization:08_optimization#comprobacion_del_fichero_mycnf|Optimización y solución de problemas]]" para la comprobación del fichero ''my.cnf''. * Inicie el servicio MySQL: systemctl start mysql o bien service mysqld start * Verifique la versión instalada con: mysql --version Obtendrá una respuesta parecida a la siguiente: mysql Ver 8.0.28-19 for Linux on x86_64 (Percona Server (GPL), Release 19, Revision 31e88966cd3) Ahora utilice la línea de comando propia de MySQL y: * Borre la base de datos ''pandora''. * Cree una nueva base de datos ''pandora''. * Abra la base de datos ''pandora'' e importe el esquema que se encuentra en la Consola web PFMS. * Importe los datos que respaldo especial compatible con MySQL 8. mysql -u root -p pandora drop database pandora; create database pandora; use pandora; source /var/www/html/pandora_console/pandoradb.sql; source backup_pandora.sql; * Se debe agregar de nuevo los permisos (//grants//) necesarios; //si no está conectado// a ''mysql'' como usuario **root** (sustituya '''' con la contraseña correspondiente) ejecute: mysql -uroot -p * **Una vez conectado como root ejecute los siguientes comandos**: * Desactive el //plugin// de de validación de //password// (**opcional**). UNINSTALL COMPONENT 'file://component_validate_password'; * Crear el usuario de conexión **si no existe**: CREATE USER ""@'%' IDENTIFIED BY ""; //**Nota**// : si se quiere restringir la dirección IP de conexión a la base de datos, debe cambiar el ''%'' por la dirección IP de la fuente de conexión. * Asignar la //password// nativa para ''mysql'': ALTER USER ""@'%' IDENTIFIED WITH mysql_native_password BY ""; * Otorgue los //grants// sobre la base de datos de Pandora FMS (''pandora''): GRANT ALL PRIVILEGES ON pandora.* TO ""@'%'; * Guarde los cambios y salga: flush privileges; exit Un vez finalizado el trabajo con la base de datos, realice los siguientes pasos: * Inicie el servidor PFMS y el Agente Software PFMS: /etc/init.d/pandora_server start /etc/init.d/pandora_agent_daemon start * Inicie el servidor Apache web: systemctl start httpd.service O bien: /etc/init.d/httpd start Véase también "[[:es:documentation:pandorafms:complex_environments_and_optimization:08_optimization#comprobacion_del_fichero_mycnf|Optimización y solución de problemas]]" para la comprobación del fichero ''my.cnf''. ===== CentOS 7 ===== CentOS 7 pronto alcanzará su fin de ciclo de vida (**EOL**). //Esta documentación se conserva por propósitos históricos.// * Detenga el servidor PFMS y el Agente Software PFMS: /etc/init.d/pandora_server stop /etc/init.d/pandora_agent_daemon stop * Detenga el servidor Apache web: systemctl stop httpd.service O bien: /etc/init.d/httpd stop * Haga un respaldo especial de la base de datos que sea compatible con MySQL 8: mysqldump -u root -p pandora \ --skip-add-drop-table \ --complete-insert \ --no-create-info> backup_pandora.sql * Haga un respaldo tal cual está hecho en MySQL 5.7 (un seguro adicional si tiene que volver a esta versión): mysqldump -u root -p pandora> backup_pandora_5.7.sql * Haga un respaldo del fichero de configuración de MySQL (''my.cnf''): cp /etc/my.cnf /tmp/my.cnf.BACK * Borre los repositorios de Percona 5: rpm -qa | grep Percona-Server | xargs rpm -e --nodeps * Instale los repositorios de Percona 8: yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y * Habilite los repositorios del paso anterior: percona-release setup ps80 * Instale Percona 8 yum install percona-server-server * Restablezca el fichero ''my.cnf'': mv /tmp/my.cnf.BACK /etc/my.cnf * Modifique el fichero ''my.cnf'' para prescindir de ''query_cache_*'': sed -i -e "s/^query_cache_type.*/#query_cache_type/g" /etc/my.cnf sed -i -e "s/^query_cache_size.*/#query_cache_size/g" /etc/my.cnf sed -i -e "s/^query_cache_min_res_unit.*/#query_cache_min_res_unit/g" /etc/my.cnf sed -i -e "s/^query_cache_limit.*/#query_cache_limit/g" /etc/my.cnf * Si **no tiene un entorno con HA**, deshabilite los //log// binarios con la siguiente instrucción en la sección ''[mysqld]'': skip-log-bin Véase también "[[:es:documentation:pandorafms:complex_environments_and_optimization:08_optimization#comprobacion_del_fichero_mycnf|Optimización y solución de problemas]]" para la comprobación del fichero ''my.cnf''. * Inicie el servicio MySQL: systemctl start mysql o bien service mysqld start * Verifique la versión instalada con: mysql --version Obtendrá una respuesta parecida a la siguiente: mysql Ver 8.0.28-19 for Linux on x86_64 (Percona Server (GPL), Release 19, Revision 31e88966cd3) * Ahora utilice la línea de comando propia de MySQL, introduzca la contraseña de usuario **root** y: * Borre la base de datos ''pandora''. * Cree una nueva base de datos ''pandora''. * Abra la base de datos ''pandora'' e importe el esquema que se encuentra en la Consola web PFMS. * Importe los datos que respaldó de manera especial, compatible con MySQL 8. mysql -u root -p pandora drop database pandora; create database pandora; use pandora; source /var/www/html/pandora_console/pandoradb.sql; source backup_pandora.sql; * Se debe agregar de nuevo los permisos (//grants//) necesarios; //si no está conectado// a ''mysql'' como usuario **root** (sustituya '''' con la contraseña correspondiente) ejecute: mysql -uroot -p * **Una vez conectado como root ejecute los siguientes comandos**: * Desactive el //plugin// de de validación de //password// (opcional). UNINSTALL COMPONENT 'file://component_validate_password'; * Crear el usuario de conexión si no existe: CREATE USER ""@'%' IDENTIFIED BY ""; //**Nota**// : si se quiere restringir la dirección IP de conexión a la base de datos, debe cambiar el ''%'' por la dirección IP de la fuente de conexión. * Asignar la //password// nativa para ''mysql'': ALTER USER ""@'%' IDENTIFIED WITH mysql_native_password BY ""; * Otorgue los //grants// sobre la base de datos de Pandora FMS (''pandora''): GRANT ALL PRIVILEGES ON pandora.* TO ""@'%'; * Guarde los cambios y salga: flush privileges; exit Un vez finalizado el trabajo con la base de datos, realice los siguientes pasos: * Inicie el servidor PFMS y el Agente Software PFMS: /etc/init.d/pandora_server start /etc/init.d/pandora_agent_daemon start * Inicie el servidor Apache web: systemctl start httpd.service O bien: /etc/init.d/httpd start [[:es:documentation:start|Volver al Índice de Documentación Pandora FMS]]