Para las instalaciones de homebrew mysql, ¿dónde está my.cnf? ¿Instala uno?
293
No hay my.cnf por defecto. Como tal, MySQL comienza con todas las configuraciones predeterminadas. Si desea crear su propio my.cnf para anular cualquier defecto, colóquelo en /etc/my.cnf.
Además, puede ejecutar mysql --help
y buscar en él las ubicaciones de configuración enumeradas.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
Como puede ver, también hay algunas opciones para omitir los archivos conf o especificar otros archivos para leer cuando invoque mysql en la línea de comandos.
ls $(brew --prefix mysql)/*.cnf
mysql --help | grep cnf
en realidad fue más fácil encontrar las líneas.El homebrew mysql contiene archivos de configuración de muestra en la carpeta de archivos de soporte de la instalación.
Si necesita cambiar la configuración predeterminada, puede usar una de ellas como punto de partida.
Como señala @rednaw, lo más probable es que haya una instalación homebrew de MySQL, por
/usr/local
lo que el archivo my.cnf no debe agregarse a la/etc
carpeta del sistema , por lo que he cambiado el comando para copiar el archivo/usr/local/etc
.Si está utilizando MariaDB en lugar de MySQL, use lo siguiente:
fuente
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
/usr/local/
(que creo que es el valor predeterminado), también puede colocarlomy.conf
en/usr/local/etc/
, que no requiere privilegios de root.brew --prefix mariadb
. En la distribución MariaDB, elmy-default.cnf
no existe, así que úselomy-small.cnf
. Prueba estocp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
Una forma de averiguarlo:
fuente
mdfind -name my.cnf
lugar delocate
comando en OSXlocate my.cnf
trabajó directamente. Nosudo /usr/libexec/locate.updatedb
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnf
y/usr/local/etc/my.cnf
fue lo que obtuveen mi sistema era
como plantilla y
como trabajando
fuente
Nada realmente me ayudó: no pude sobrescribir la configuración en un archivo /etc/my.cnf. Así que busqué como John sugirió https://stackoverflow.com/a/7974114/717251
Encontró otro my.cnf en
¡cambiar este archivo funcionó para mí! No olvide reiniciar el Agente de inicio:
Actualizar:
Si tiene una instalación bastante reciente de homebrew, debe usar los comandos de brew services para reiniciar mysql (use su versión de homebrew mysql instalada, es decir, mysql o [email protected]):
fuente
brew services stop mysql
ybrew services start mysql
en lugar de laslaunchctl unload ...
líneas.Como
mysql --help
muestra una lista de archivos, me resulta útil canalizar el resultadols
para ver cuál de ellos existe:Para mi MySQL 5.7 (instalado Homebrew), parece que los archivos están activados
/usr/local/etc/my.cnf
.fuente
En su tipo de shell
my_print_defaults --help
En la parte inferior del resultado, debería poder ver el archivo desde el cual el servidor lee las configuraciones. Imprime algo como esto:
fuente
Puede encontrar dónde
my.cnf
ha proporcionado el archivo el paquete específico, p. Ej.Además de verificar si ese archivo se lee, puede ejecutar:
que le mostrará la actividad del sistema de archivos en tiempo real relacionada con ese archivo.
fuente
Creo que la respuesta es no. Instalar uno en ~ / .my.cnf o / usr / local / etc parece ser la solución preferida.
fuente
En el caso de Homebrew, mysql también buscaría my.cnf en su directorio Cellar, por ejemplo:
Para el caso, uno prefiere mantener la configuración cerca de los binarios: cree
my.cnf
aquí si falta.Reinicie mysql después del cambio:
fuente
Versión del servidor: 8.0.19 Homebrew. macOS Catalina 10.15.5 e instaló MySQL a través de Homebrew. Encontré este archivo aquí:
Esta solución ayudó :)
fuente
Para MacOS (High Sierra), MySQL que se ha instalado con home brew.
El aumento de las variables globales del entorno mysql no fue exitoso. Entonces, en ese caso, la creación de ~ / .my.cnf es la opción más segura. Agregar variables con [mysqld] incluirá los cambios (Nota: si cambia con [mysql], el cambio podría no funcionar).
Reinicie el servidor mysql. y verifique las variables. y
1 fila en conjunto (0.00 seg)
fuente
$ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin
Coloque su archivo my.cf en
/usr/local/opt/mysql
brew services restart mysql
fuente