Tutorial PHP | Aprende PHP 8 en 10 capítulos
Como en cualquier servidor, en ocaciones nuestros servidores de Base de Datos (en este caso MySQL y/o MariaDB) pueden detenerse, no iniciar, o hacer algo que deben hacer, pero… ¿dónde nos indica con detalle qué está pasando?, precisamente en su LOG de actividades.
De forma predeterminada MySQL y/o MariaDB lo tienen en la carpeta / directorio de logs del servidor (/var/log/) en la carpeta dependiendo tu servidor:
Si es MySQL será:
1 | -> /var/log/mysql/mysql.log |
Si es MariaDB será:
1 | -> /var/log/mariadb/mariadb.log |
Tal vez ya has buscado en dichos directorios y no lo encontraste, ni:
1 2 Publicidad | -> /var/log/mysql/ -> /var/log/mariadb/ |
Significa que cuando se instaló no tuvo permiso de crear el archivo y, por consecuencia poder escribir en el archivo, o en el archivo de configuración del servidor no fue especificado.
Primeramente vamos a revisar el archivo de configuración de nuestro servidor, hay dos opciones como pueda estar configurado, todas las especificaciones en el archivo /etc/my.cnf (versiones antigüas), o distribuidos en una sub carpeta / directorio en donde tiene varios archivos, como el siguiente ejemplo:
1 2 3 4 5 6 7 8 9 10 11 | [user@host ~]$ cat /etc/my.cnf # # This group is read both by the client and the server # use it for options that affect everything # [client-server] # # include *.cnf from the config directory # !includedir /etc/my.cnf.d |
En este caso, nos está indicando que está cargando todos los archivos que se encuentran en:
1 | -> /etc/my.cnf.d |
Sin importar la extensión que tengan (de forma predeterminada deberian ser *.cnf pero no, cargará todos). Nos dirigimos a dicha carpeta / directorio y veremos algo así:
1 2 3 4 5 6 | [user@host ~]$ ls -al /etc/my.cnf.d/ -rw-r--r-- 1 root root 295 May 21 08:02 client.cnf -rw-r--r-- 1 root root 763 May 21 08:02 enable_encryption.preset -rw-r--r-- 1 root root 232 May 21 08:02 mysql-clients.cnf -rw-r--r-- 1 root root 8916 Jun 6 15:16 server.cnf -rw-r--r-- 1 root root 120 May 21 08:02 spider.cnf |
El archivo en cuestión es server.cnf, vamos a ver que tiene:
1 2 3 4 5 | [user@host ~]$ cat /etc/my.cnf.d/server.cnf # Debemos ver toda su configuración, pero vamos a buscar la siguiente linea en caso de usar MySQL: log-error = /var/log/mysql.log # Si usas MariaDB: log-error = /var/log/mariadb.log |
Si no la tiene deberás escribirla. Si ya está configurado de la forma anterior, deberías tenerlo en dicha ruta pero sino lo tienes, vamos a crearlo:
1 2 3 4 | # Si usas MySQL: [user@host ~]$ sudo touch /var/log/mysql.log # Si usas MariaDB: [user@host ~]$ sudo touch /var/log/mariadb.log |
Con el comando anterior touch creamos un archivo de texto plano completamente vacío, pero con permisos de root pero solo el servidor deberá ser su dueño y tener sus permisos, por lo cual vamos a cambiarlo:
1 2 3 4 | # Si usas MySQL: [user@host ~]$ sudo chmod 640 /var/log/mysql.log && sudo chown mysql:mysql /var/log/mysql.log # Si usas MariaDB (el usuario y el grupo siguen siendo mysql: [user@host ~]$ sudo chmod 640 /var/log/mariadb.log sudo chown mysql:mysql /var/log/mariadb.log |
Ahora solo nos toca reiniciar el servicio con el cual corre nuestro servidor de Base de Datos MySQL y/o MariaDB y volver a revisar el LOG:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Si usas MySQL: [user@host ~]$ cat /var/log/mysql.log Version: '8-MySQL' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Server 2022-06-13 16:20:53 [Note] Starting MySQL 8.2 2022-06-13 16:20:53 [Note] mariadbd: Aria engine: starting recovery recovered pages: % 11% 44% 64% 84% 96% 100% (0.0 seconds); tables to flush: 2 1 (0.0 seconds); 2022-06-13 16:20:53 [Note] mariadbd: Aria engine: recovery done 2022-06-13 16:20:53 [Note] InnoDB: Compressed tables use zlib 1.2.11 2022-06-13 16:20:53 [Note] InnoDB: Number of transaction pools: 1 2022-06-13 16:20:53 [Note] InnoDB: Using crc32 + pclmulqdq instructions 2022-06-13 16:20:53 [Note] InnoDB: innodb_buffer_pool_size_max=327680m, innodb_buffer_pool_size=327680m # Si usas MariaDB: [user@host ~]$ cat /var/log/mariadb.log Version: '10-MariaDB' socket: '/var/run/mariadb/mariadb.sock' port: 3306 MariaDB Server 2022-06-13 16:20:53 [Note] Starting MariaDB 10.11 2022-06-13 16:20:53 [Note] mariadbd: Aria engine: starting recovery recovered pages: % 11% 44% 64% 84% 96% 100% (0.0 seconds); tables to flush: 2 1 (0.0 seconds); 2022-06-13 16:20:53 [Note] mariadbd: Aria engine: recovery done 2022-06-13 16:20:53 [Note] InnoDB: Compressed tables use zlib 1.2.11 2022-06-13 16:20:53 [Note] InnoDB: Number of transaction pools: 1 2022-06-13 16:20:53 [Note] InnoDB: Using crc32 + pclmulqdq instructions 2022-06-13 16:20:53 [Note] InnoDB: innodb_buffer_pool_size_max=327680m, innodb_buffer_pool_size=327680m |
Y listo, ya tenemos nuestro LOG configurado.