meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
seguridad:monitorizacion:zabbix3:ibdata1 [2018/02/23 11:30] – lc | seguridad:monitorizacion:zabbix3:ibdata1 [2023/01/18 14:46] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
{{tag> zabbix mysql mariadb reparar liberar clean recuperar}} | {{tag> zabbix mysql mariadb reparar liberar clean recuperar}} | ||
===== Problemas con la BDD de Zabbix ===== | ===== Problemas con la BDD de Zabbix ===== | ||
- | ==== Liberar espacio, fichero | + | ==== Liberar espacio |
+ | Revisar las configuración del parámetro [[seguridad: | ||
+ | ==== Fichero | ||
A veces en instalaciones de zabbix que llevan un tiempo en funcionamiento y que se han ido actualizando nos econtramos que el fichero ibdata1 es de un tamaño enorme. Eso es debido a que en MySQL cuando usamos el motor de bases de datos InnoDB, todas las tablas e indices se almacenan bajo la tabla system de MySQL, que se corresponde con el fichero ibdata1, que se encuentra en la carpeta / | A veces en instalaciones de zabbix que llevan un tiempo en funcionamiento y que se han ido actualizando nos econtramos que el fichero ibdata1 es de un tamaño enorme. Eso es debido a que en MySQL cuando usamos el motor de bases de datos InnoDB, todas las tablas e indices se almacenan bajo la tabla system de MySQL, que se corresponde con el fichero ibdata1, que se encuentra en la carpeta / | ||
Línea 10: | Línea 12: | ||
Yo he optado por el segundo método, para ello he seguido estos pasos: | Yo he optado por el segundo método, para ello he seguido estos pasos: | ||
- | | + | |
- | Paramos el servidor de zabbix < | + | Paramos el servidor de zabbix < |
- | + | < | |
- | + | - Paramos el servidor de BDD < | |
- | + | * Borramos el archivo ibdata1 y sus logs < | |
- | + | rm -rf / | |
- | + | rm -rf / | |
- | * Editamos el fichero /etc/my.cnf y añadimos la siguiente | + | * Editamos el fichero /etc/my.cnf y añadimos la siguiente |
<sxh> innodb_file_per_table=1 </ | <sxh> innodb_file_per_table=1 </ | ||
- | * Reiniciamos | + | * Iniciamos |
- | * Hacemos una copia de todas las Bases de datos <sxh>mysqldump | + | * Borramos y volvemos a crear la base de datos <sxh>mysql -u user -p' |
- | * También deberíamos de hacer una copia de los ficheros existentes dentro de **/ | + | mysql -u user -p' |
- | * Nos conectamos al mysql y borramos la Base de datos zabbix< | + | * Le damos permisos al usuario |
- | < | + | mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>'; |
- | * Salimos de la base de datos y paramos el servicio < | + | mysql> quit;</ |
- | * Borramos los ficheros ibdata1 y los ficheros | + | |
- | <sxh>cd / | + | <sxh>gzip -d backup-nombrebasededatos-fecha.sql.gz |
- | rm ibdata1 | + | mysql -u user -p' |
- | rm ib_logfile* | + | </sxh>< |
- | </sxh> | + | |
- | * Iniciamos el servicio de BDD y volvemos a crear la base de datos zabbix | + | |
- | < | + | |
- | systemctl start mariadb | + | |
- | mysql -u root -p</sxh> | + | |
- | Una vez conectados a MySQL creamos una nueva base de datos llamada | + | |
- | <sxh>mysqld> | + | |
- | + | ||
- | Una vez que nos sale el mensaje de que la operación se ha efectuado | + | |
- | < | + | |
- | Output | + | |
- | Query OK, 1 row affected (0.00 sec) | + | |
- | </ | + | |
- | Salimos de MySQL con CTRL+D. | + | |
- | < | + | |
* Iniciampos el servicio de zabbix < | * Iniciampos el servicio de zabbix < | ||
- | | + | Referencias : |
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | |||
==== Reparar error mysql ‘table’ doesn’t exist in engine ==== | ==== Reparar error mysql ‘table’ doesn’t exist in engine ==== | ||
- | si nos aparece | + | Si al ejecutar el comando < |
+ | |||
+ | |||
+ | === Intentar la recuperación automática === | ||
+ | <note warning> | ||
+ | Podemos instentar usar la opción **innodb_force_recovery=** para recuperar | ||
+ | Un valor mayor también incluye las comprobaciones de los valores anteriores, es decir si ponemos el 4 estamos incluyendo las comprobaciones de los niveles 1,2 y3 también. | ||
+ | |||
+ | el valor 0 es el valor por defecto que no realiza recuperación. | ||
+ | Los valores entre 1 y 3 son más seguros y se pierden menos datos | ||
+ | Los valores entre 4 y 6 son más peligrosos y se pueden perder más datos. | ||
+ | |||
+ | Para forzar | ||
+ | |||
+ | < | ||
+ | |||
+ | Intentamos ver si podemos hacer un volcado de la bdd tabla por tabla < | ||
+ | |||
+ | |||
+ | El siguiente paso una vez que hemos podido hacer el volcado es borrar la/s tablas corruptas < | ||
+ | |||
+ | Quitamos las opciones que añadimos al fichero my.cnf y reiniciamos mysql | ||
+ | |||
+ | Como paso final importamos cada tabla que habíamos | ||
+ | |||
+ | |||
+ | === Recuperación mediante los ficheros y frm === | ||
+ | |||
+ | Los ficheros ibd contienen los datos | ||
+ | |||
+ | Lo primero de todo es que vamos a necesitar es instalar el paquete mysql-utilities para poder usar la herramienta mysqlfrm. | ||
+ | |||
+ | < | ||
+ | |||
+ | Copiamos todos los ficheros de mi BDD a una nueva localización. < | ||
+ | < | ||
+ | |||
+ | Lanzamos desde la ubicación de la copia una nueva instancia de la BDD pero es muy importante que sea en otro puerto distinto y que mysql tengas permisos de escritura en la carpeta | ||
+ | ya que no podemos levantar dos instancias como root | ||
+ | |||
+ | |||
+ | |||
+ | cd /tmp/ | ||
+ | mysqlfrm --user=mysql --server=root: | ||
+ | |||
+ | |||
+ | |||
+ | | ||
- | < | ||
==== Solucionar problemas de corrupción ==== | ==== Solucionar problemas de corrupción ==== | ||
Si tenemos problemas de que la base de datos de zabbix se queda incoherente, | Si tenemos problemas de que la base de datos de zabbix se queda incoherente, | ||
- | < | + | < |
- | mysql> use zabbix; | + | mysql> use zabbix; |
mysql> TRUNCATE TABLE history; | mysql> TRUNCATE TABLE history; | ||
mysql> TRUNCATE TABLE history_str; | mysql> TRUNCATE TABLE history_str; | ||
Línea 69: | Línea 103: | ||
==== Borrar registros huérfanos ==== | ==== Borrar registros huérfanos ==== | ||
https:// | https:// | ||
- | |||
Línea 75: | Línea 108: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// |