Procedimiento para desactivar los registros binarios en las bases de datos MariaDB y MySQL.
Hace unos días, Geekflare no estaba disponible, y la razón era simple – no quedaba espacio en el dispositivo. Tuve cientos de alertas y correos electrónicos de la audiencia acerca de que el sitio web estaba caído, pero yo estaba de viaje, así que no pude tomar medidas a tiempo.
Esto quedó registrado en los logs de Google Cloud.
Feb 13 15:58:35 geekflare snapd<x>[1308]</x>: daemon.go:379: started snapd/2.37.1 (series 16; classic) ubuntu/18.04 (amd64) linux/4.15.0-1027-gcp.
Feb 13 15:58:35 geekflare snapd<x>[1308]</x>: main.go:123: system does not fully support snapd: mkdir /tmp/sanity-mountpoint-464926152: no space left on device
Feb 13 15:58:35 geekflare systemd[1]: Iniciado el demonio Snappy.
Esto fue una sorpresa para mí ya que Geekflare es sólo un simple blog y no almacena ni procesa grandes datos. Así que empecé a investigar y encontré que /var/log/mysql
estaba ocupando ~50% del almacenamiento total.
root@geekflare:/var/log# du -sh mysql
9.4G mysql
root@geekflare:/var/log#
Y, después de listar los archivos
-rw-rw---- 1 mysql adm 104860436 Feb 10 19:05 mariadb-bin.000105
-rw-rw---- 1 mysql adm 104869270 Feb 10 22:12 mariadb-bin.000106
-rw-rw---- 1 mysql adm 104868195 Feb 11 01:41 mariadb-bin.000107
-rw-rw---- 1 mysql adm 104859088 Feb 11 04:44 mariadb-bin.000108
-rw-rw---- 1 mysql adm 104862187 Feb 11 07:22 mariadb-bin.000109
-rw-rw---- 1 mysql adm 104860386 Feb 11 09:25 mariadb-bin.000110
-rw-rw---- 1 mysql adm 104867622 Feb 11 11:22 mariadb-bin.000111
-rw-rw---- 1 mysql adm 104871043 Feb 11 13:18 mariadb-bin.000112
-rw-rw---- 1 mysql adm 104873816 Feb 11 15:07 mariadb-bin.000113
-rw-rw---- 1 mysql adm 104858814 Feb 11 17:09 mariadb-bin.000114
-rw-rw---- 1 mysql adm 104858302 Feb 11 19:18 mariadb-bin.000115
-rw-rw---- 1 mysql adm 104859019 Feb 11 21:33 mariadb-bin.000116
-rw-rw---- 1 mysql adm 104860830 Feb 12 00:05 mariadb-bin.000117
-rw-rw---- 1 mysql adm 3298 Feb 12 02:58 mariadb-bin.index
-rw-rw---- 1 mysql adm 104873697 Feb 12 02:58 mariadb-bin.000118
-rw-rw---- 1 mysql adm 104259584 13 feb 15:24 mariadb-bin.000119
-rw-rw---- 1 mysql adm 0 Feb 13 15:25 mariadb-bin.state
root@geekflare:/var/log/mysql#
Eran logs binarios.
Puede pensar en borrarlos para recuperar el sistema pero tenga en cuenta que se volverá a llenar. Así que la mejor manera de prevenir esto es instruir a MariaDB para que no haga logs. No tengo implementación de réplica por lo que está bien desactivar el registro binario.
Es una simple configuración de una línea.
Si utiliza MariaDB
- Inicie sesión en el servidor donde se ejecuta MariaDB
- Vaya a
/etc/mysql/conf.d
- Haga una copia de seguridad de
mariadb.cnf
- Añada lo siguiente en
[mysqld] directiva
skip-log-bin
- Guarde el archivo de configuración
En este momento, puede borrar esos archivos binarios de registro y reiniciar la base de datos.
Si utiliza MySQL
- Inicie sesión en el servidor MySQL
- Vaya a /etc/my.cnf.d/
- Añada lo siguiente en el archivo
mysql-server.cnf
en<x>[mysqld]</x>
directiva
skip-log-bin
- Guarde el archivo y reinicie el servidor MySQL
service mysqld stop
service mysqld start
Ahora, puede borrar esos archivos binarios bajo /var/lib/mysql
. Espero que esto le ayude.
Si usted está ejecutando una aplicación crítica, entonces usted también puede considerar ir para MySQL hosting gestionado que se ocupan de la optimización del rendimiento.