Ubicación del archivo my.cnf en macOS

Estoy tratando de seguir este tutorial para permitir el acceso remoto a MySQL. El problema es, ¿dónde debería estar my.cnf archivo my.cnf ? Estoy usando Mac OS X Lion.

Este hilo en el foro de MySQL dice:

De manera predeterminada, la instalación de OS X no usa my.cnf, y MySQL solo usa los valores predeterminados. Para configurar su propio my.cnf, puede crear un archivo directamente en / etc.

OS X proporciona archivos de configuración de ejemplo en /usr/local/mysql/support-files/ .

Y si no puede encontrarlos allí, MySQLWorkbench puede crearlos para usted de la siguiente manera:

  1. Abriendo una conexión
  2. Seleccionando el ‘Archivo de Opciones’ en ‘INSTANCE’ en el menú.
  3. MySQLWorkbench buscará my.cnf y, si no puede encontrarlo, lo creará para usted

En el caso de Mac OS X Maverick cuando MySQL está instalado a través de Homebrew, se encuentra en /usr/local/opt/mysql/my.cnf

En general, en los sistemas tipo Unix y Unix, los progtwigs MySQL / MariaDB leen los archivos de configuración / inicio en las siguientes ubicaciones (en el orden especificado):

  • /etc/my.cnf – Global
  • /etc/mysql/my.cnf – Global
  • SYSCONFDIR/my.cnf – Global

    SYSCONFDIR representa el directorio especificado con la opción SYSCONFDIR para CMake cuando se SYSCONFDIR MySQL. Por defecto, este es el directorio etc. ubicado bajo el directorio de instalación comstackdo.

  • $MYSQL_HOME/my.cnf – Específico del servidor (solo servidor)

    MYSQL_HOME es una variable de entorno que contiene la ruta al directorio en el que reside el archivo my.cnf específico del servidor. Si MYSQL_HOME no está configurado e inicia el servidor utilizando el progtwig mysqld_safe , mysqld_safe establece en BASEDIR , el directorio de instalación base de MySQL.

  • archivo especificado con --defaults-extra-file=path if any

  • ~/.my.cnf – específico del usuario
  • ~/.mylogin.cnf~/.mylogin.cnf usuario (solo clientes)

Fuente: Uso de archivos de opciones .

Nota: en las plataformas Unix, MySQL ignora los archivos de configuración que se pueden escribir en el mundo. Esto es intencional como una medida de seguridad.


Además, en Mac hay una manera simple de verificarlo.

  1. Ejecutar: sudo fs_usage | grep my.cnf sudo fs_usage | grep my.cnf

    Esto informará cualquier actividad del sistema de archivos en tiempo real relacionada con ese archivo.

  2. En otra Terminal, reinicie su MySQL / MariaDB, por ej.

     brew services restart mysql 

    o:

     brew services restart mariadb 
  3. En el terminal con fs_usage , se debe mostrar la ubicación correcta, por ejemplo

     15:52:22 access /usr/local/Cellar/mariadb/10.1.14/my.cnf 0.000002 sh 

    Entonces, si el archivo no existe, crea uno.

No sé qué versión de MySQL está usando, pero aquí están las posibles ubicaciones del archivo my.cnf para la versión 5.5 (tomada de aquí ) en Mac OS X:

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file (el archivo especificado con --defaults-extra-file=path , si corresponde)
  6. ~/.my.cnf

Para MySQL 5.7 en Mac OS X El Capitán: /usr/local/mysql/etc/my.cnf

Copie la configuración predeterminada de /usr/local/mysql/support-files/my-default.cnf

El paquete actual de MySQL para Mac OS X Mavericks (mysql-5.6.17-osx10.7-x86_64 en el momento de escribir esto) crea automáticamente un my.cnf durante la instalación.

Se encuentra en /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
Adapta tu camino de acuerdo a tu versión.

En mysql 5.6.22, que lo instalé de Homebrew, la ruta de my.cnf es

 /usr/local/opt/mysql/my.cnf 

Puede abrir una terminal y escribir locate my.cnf

Si está utilizando macOS Sierra y el archivo no existe, ejecute

mysql --help or mysql --help | grep my.cnf

para ver las posibles ubicaciones y la secuencia de carga / lectura de my.cnf para mysql, luego crea mi archivo .cnf en uno de los directorios sugeridos y luego agrega la siguiente línea

[mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Puede sudo touch /{preferred-path}/my.cnf luego edite el archivo para agregar el modo sql

sudo nano /{preferred-path}/my.cnf

Luego reinicia mysql, voilaah eres bueno para ir. feliz encoding

Entonces, ninguna de estas cosas funcionó para mí. Estoy usando la instalación dmg actual del servidor de la comunidad mysql. ps muestra que todos los parámetros más críticos normalmente en my.cnf se pasan en la línea de comando, y no pude averiguar de dónde provenía. Después de hacer una búsqueda de texto completo de mi cuadro, lo encontré en:

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Así que puedes cambiarlos allí o sacarlos para que realmente respeten los que tienes en tu my.cnf donde sea que decidas ponerlos.

¡Disfrutar!

puede verificar el archivo /usr/local/bin/mysql.server y ver desde donde se lee my.conf. generalmente es de /etc/my.cnf o ~ / my.cnf

Para MAMP 3.5 Mac El Capitan, cree un archivo de configuración vacío por separado y escriba su configuración adicional para mysql

 sudo vim /Applications/MAMP/Library/my.cnf 

Y Agregar como esto

 [mysqld] max_allowed_packet = 256M 

Comprobé en macOS Sierra, el Homebrew instalado MySql 5.7.12

Los archivos de soporte se encuentran en

 /usr/local/opt/mysql/support-files 

Simplemente copie my-default.cnf como /etc/my.cnf o /etc/mysql/my.cnf y la configuración se recuperará al reiniciar.

Estoy usando la versión 5.7.17 de mysql en MacOS High Sierra versión 10.13.3 y he encontrado el archivo de configuración de mysql aquí.

 cd /usr/local/mysql/support-files/my-default.cnf 

macOS High Sierra versión 10.13.6

mysql Ver 14.14 Distrib 5.7.22, para osx10.13 (x86_64) utilizando el envoltorio EditLine Copyright (c) 2000, 2018, Oracle y / o sus filiales. Todos los derechos reservados

Las opciones predeterminadas se leen de los siguientes archivos en el orden dado:

 /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 

Para Mac, lo que funcionó para mí es crear un archivo .my.cnf en mi ~ path. Espero que esto ayude.

Copie /usr/local/opt/mysql/support-files/my-default.cnf como /etc/my.cnf o /etc/mysql/my.cnf y luego reinicie mysql.

Para mí en la versión sierra

copie la configuración predeterminada en:

/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

a

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

En mi caso, el archivo no existía. En MySQL Workbench fui a OPTIONS FILE y encontré algunos valores predeterminados. Hice clic en aplicar. Pidió permiso. Luego creó el archivo my.cnf en / etc. Sin embargo, es muy importante tener en cuenta que la primera vez que hace clic en “aplicar”, no realiza ningún cambio en la configuración predeterminada. Una vez que se haya creado el archivo, puede hacer cambios que se aplicarán cuando haga clic en “aplicar”. De lo contrario, no se mostrará el botón Aplicar cuando realice cambios.

Después de la versión 5.7.18 de MySQL, no proporciona el archivo de configuración predeterminado en el directorio de archivos de soporte. Entonces puede crear mi archivo .cnf manualmente en la ubicación donde MySQL leerá, como /etc/mysql/my.cnf, y agregar la configuración que desea agregar al archivo.

Las opciones de rDefault se leen de los siguientes archivos en el orden dado: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~ / .my.cnf

macOs sierra 10.12.6 versión de mysql: 5.7.18_1 Ejecuto locate my.cnf y la ruta es

/usr/local/etc/my.cnf

espero que ayude