Introducción
No es muy común tener un servidor de MySQL en producción con Windows, sin embargo en esta ocasión tuve que cambiar algunos parámetros de su configuración y no encontraba el archivo my.cnf por lo que veremos cuál es la ubicación de my.cnf en Windows y Linux.
Ubicación de my.cnf en Windows y Linux
En Linux (Debian, Ubuntu y sus derivados)
El archivo está en:
/etc/mysql/my.cnf
Para abrirlo y editarlo podemos ejecutar el comando:
sudo nano /etc/mysql/my.cnf
O en lugar da nano usar nuestro editor favorito. Da igual, pero ahí está el archivo de configuración de MySQL.
En Windows con Workbench
Si instalamos MySQL con MySQL WorkBench, el archivo my.cnf está en:
C:\ProgramData\MySQL\MySQL Server [VERSIÓN_AQUÍ]\my.ini
Cambiará dependiendo de tu versión de MySQL. Puede llamarse MySQL Server 5.7 por ejemplo.
Podemos editarlo con cualquier editor de texto plano. Bloc de notas, notepad++, Sublime Text, VSCode, etcétera.
En Windows con XAMPP
Actualización: el archivo para configurar MySQL está en mysql\bin\my.ini. Por ejemplo, si instalamos todo con XAMPP está en C:\xampp\mysql\bin\my.ini. Hay que hacer los cambios ahí, si no funciona entonces sigue leyendo.
Cuando instalamos MySQL con XAMPP (como en este tutorial) el archivo my.cnf no existe, debemos crearlo. Y MySQL sólo nos dice en dónde va a buscarlo.
De hecho el objetivo del post es ese: saber en dónde está el archivo de configuración de MySQL en XAMPP.
Como lo dije, no existe. Pero si ejecutamos MySQL desde la terminal y le pasamos la opción –help (mira el link que dejé arriba para saber cómo agregarlo a la variable PATH) nos dirá en dónde busca los archivos:
La salida difiere para cada usuario, por ello es que hay que ejecutar el comando en nuestra PC. A mí me marca la ruta de D:\desarrollo_php porque he puesto ahí XAMPP, en lugar de C:\xampp.
Pero bueno, recomiendo crearlo en la carpeta mysql. Es decir, si instalamos XAMPP entonces va en:
C:\xampp\mysql\my.cnf
Igualmente podemos editarlo con Sublime Text, VSCode, Notepad++ o lo que sea. Eso sí, hay que ejecutar el editor como administrador en caso de que Windows lo tenga protegido.
Por otro lado podemos ponerlo en C:\WINDOWS\my.cnf
Conclusiones
Siempre debemos reiniciar el servidor para que los cambios se reflejen en el mismo.
En XAMPP simplemente abrimos el panel de control del mismo y al servicio de MySQL le damos click a Stop y luego a Start.
En Linux es con el comando:
sudo service mysql restart
Referencias
Alguna información que aparece aquí la he tomado de:
Créditos a los respectivos autores o dueños.
Hola, estoy intentando hacer una conexión remota desde la PC a una base de datos (servidor MariaDB) ubicada en el mi hosting pero no he podido dar con el archivo mysqld.cnf para editarlo. Definitivamente necesito tu asesoría para aprender. Por supuesto, que te pagaría tus servicios. Desde ya muchas gracias si me puedes ayudar. Saludos cordiales desde Chile. Waldo….
Hola. Claro que sí, con gusto le atiendo en https://parzibyte.me/#contacto
Pingback: Replicación bidireccional de base de datos en MySQL sobre Windows y Linux - Parzibyte's blog