Liberar espacio o reparar la base de datos de Zabbix

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 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 /var/lib/mysql

La solución a dicho problema es el siguiente :

Editamos el fichero /etc/my.cnf y añadimos la siguiente líenea bajo la sección [mysqld]

Reiniciamos la BDD

Hacemos una copia de todas las Bases de datos

Hacemos una copia de los ficheros existentes dentro de /var/lib/mysql

Nos conectamos al mysql y borramos la Base de datos zabbix

No borrar el resto de BDD

Salimos de la base de datos y paramos el servicio

Borramos los ficheros ibdata1 y los ficheros ib_logfile*

Iniciamos el servicio de BDD y volvemos a crear la base de datos zabbix

Una vez conectados a MySQL creamos una nueva base de datos llamada zabbix

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. y desde la línea de comando ejecutamos el siguiente comando para importar la copia que había creado:

Referencias

http://www.thegeekstuff.com/2016/02/mysql-innodb-file-per-table/