through start socket sock sierra mac hy000 high error mysql homebrew

start - Para las instalaciones de homebrew mysql, ¿dónde está my.cnf?



install mysql mac terminal (11)

Para las instalaciones de homebrew mysql, ¿dónde está my.cnf? ¿Se instala uno?


Como mysql --help muestra una lista de archivos, me parece útil canalizar el resultado a ls para ver cuál de ellos existe:

/usr/local/Cellar/mysql/5.7.21/my.cnf

Para mi (Homebrew instalado) MySQL 5.7, parece que los archivos están en /usr/local/etc/my.cnf .


Creo que la respuesta es no. Instalar uno en ~ / .my.cnf o / usr / local / etc parece ser la solución preferida.


En el caso de Homebrew, mysql también buscaría my.cnf en su directorio de Cellar, por ejemplo:

brew services restart mysql

Para el caso, uno prefiere mantener la configuración cerca de los archivos binarios: cree my.cnf aquí si falta.

Reinicie mysql después del cambio:

$ mysql --help | grep /my.cnf | xargs ls ls: /etc/my.cnf: No such file or directory ls: /etc/mysql/my.cnf: No such file or directory ls: ~/.my.cnf: No such file or directory /usr/local/etc/my.cnf


En tu shell escribe my_print_defaults --help

En la parte inferior del resultado, debería poder ver el archivo desde el que el servidor lee las configuraciones. Imprime algo como esto:

Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf


Homebrew mysql contiene archivos de configuración de muestra en la carpeta de archivos de soporte de la instalación.

ls $(brew --prefix mysql)/support-files/my-*

Si necesita cambiar la configuración predeterminada, puede utilizar uno de estos como punto de partida.

cp $(brew --prefix mysql)/support-files/my-default.cnf /usr/local/etc/my.cnf

Como @rednaw señala, es muy probable que una instalación casera de MySQL esté en /usr/local por lo que el archivo my.cnf no debe agregarse a la carpeta system /etc , así que he cambiado el comando para copiar el archivo en /usr/local/etc

Si está utilizando MariaDB en lugar de MySQL, use lo siguiente:

cp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf


Nada me ayudó realmente; no pude sobrescribir la configuración en un archivo /etc/my.cnf. Así que busqué como John sugirió https://.com/a/7974114/717251

sudo /usr/libexec/locate.updatedb # wait a few minutes for it to finish locate my.cnf

Encontró otro my.cnf en

/usr/local/Cellar/mysql/5.6.21/my.cnf

cambiando este archivo funcionó para mí! No te olvides de reiniciar el agente de lanzamiento:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist


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 valor predeterminado, colóquelo en /etc/my.cnf.

Además, puede ejecutar mysql --help y buscar en él las ubicaciones conf 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.


Para MacOS (High Sierra), MySQL que se ha instalado con home brew.

El aumento de las variables globales desde el entorno mysql no tuvo éxito. 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], es posible que el cambio no funcione).

<~ / .my.cnf> [mysqld] connect_timeout = 43200 max_allowed_packet = 2048M net_buffer_length = 512M

Reinicie el servidor mysql. y comprobar las variables. y

sql> SELECT @@ max_allowed_packet; + ---------------------- + | @@ max_allowed_packet | + ---------------------- + | 1073741824 | + ---------------------- +

1 fila en conjunto (0.00 seg)


Puede encontrar dónde el archivo my.cnf ha sido proporcionado por el paquete específico, por ejemplo,

brew list mysql # or: mariadb

Además de verificar si ese archivo está leído, puede ejecutar:

sudo fs_usage | grep my.cnf

que le mostrará la actividad del sistema de archivos en tiempo real relacionada con ese archivo.


Una forma de averiguarlo:

sudo /usr/libexec/locate.updatedb # wait a few minutes for it to finish locate my.cnf


en mi sistema era

nano /usr/local/etc/my.cnf.default

como plantilla y

nano /usr/local/etc/my.cnf

como trabajando