Localização do arquivo my.cnf no macOS

Estou tentando acompanhar este tutorial para permitir o access remoto ao MySQL. O problema é, onde deve ser localizado o arquivo my.cnf ? Estou usando o Mac OS X Lion.

Este tópico no fórum do MySQL diz:

Por padrão, a instalação do OS X não usa my.cnf e o MySQL apenas usa os valores padrão. Para configurar seu próprio my.cnf, você poderia simplesmente criar um arquivo diretamente em / etc.

O OS X fornece exemplos de arquivos de configuração em /usr/local/mysql/support-files/ .

E se você não puder encontrá-los, o MySQLWorkbench poderá criá-los para você por:

  1. Abrindo uma conexão
  2. Selecionando o ‘Arquivo de Opções’ em ‘INSTANCE’ no menu.
  3. O MySQLWorkbench irá procurar pelo my.cnf e se ele não puder encontrá-lo, ele irá criá-lo para você

No caso do Mac OS X Maverick quando o MySQL é instalado via Homebrew, ele está localizado em /usr/local/opt/mysql/my.cnf

Em geral, em sistemas Unix e Unix-like, os programas MySQL / MariaDB lêem arquivos de configuração / boot nos seguintes locais (na ordem especificada):

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

    SYSCONFDIR representa o diretório especificado com a opção SYSCONFDIR para o CMake quando o MySQL foi construído. Por padrão, este é o diretório etc localizado sob o diretório de instalação compilado.

  • $MYSQL_HOME/my.cnf – Específico do servidor (somente servidor)

    MYSQL_HOME é uma variável de ambiente que contém o caminho para o diretório no qual o arquivo my.cnf específico do servidor reside. Se MYSQL_HOME não estiver configurado e você iniciar o servidor usando o programa mysqld_safe , o mysqld_safe configurará para o BASEDIR , o diretório de instalação base do MySQL.

  • arquivo especificado com --defaults-extra-file=path if any

  • ~/.my.cnf – Específico do usuário
  • ~/.mylogin.cnf – específico do usuário (somente clientes)

Fonte: Usando arquivos de opções .

Nota: Em plataformas Unix, o MySQL ignora arquivos de configuração que são graváveis ​​em todo o mundo. Isso é intencional como medida de segurança.


Além disso, no Mac, há uma maneira simples de verificá-lo.

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

    Isso relatará qualquer atividade do sistema de arquivos em tempo real relacionada a esse arquivo.

  2. Em outro Terminal, reinicie seu MySQL / MariaDB, por exemplo

     brew services restart mysql 

    ou:

     brew services restart mariadb 
  3. No terminal com fs_usage , o local adequado deve ser mostrado, por exemplo

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

    Então, se o arquivo não existir, crie um.

Eu não sei qual versão do MySQL você está usando, mas aqui estão os possíveis locais do arquivo my.cnf para a versão 5.5 (tirada daqui ) no 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 (o arquivo especificado com --defaults-extra-file=path , se houver)
  6. ~/.my.cnf

Para o MySQL 5.7 no Mac OS X El Capitan: /usr/local/mysql/etc/my.cnf

Copia conf padrão de /usr/local/mysql/support-files/my-default.cnf

O pacote atual do MySQL para Mac OS X Mavericks (mysql-5.6.17-osx10.7-x86_64 no momento da escrita deste artigo) cria automaticamente um my.cnf durante a instalação.

Está localizado em /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
Adapte seu caminho de acordo com sua versão.

No mysql 5.6.22, que eu instalei do Homebrew, o caminho do my.cnf é

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

Você pode abrir um terminal e digitar locate my.cnf

Se você estiver usando o macOS Sierra e o arquivo não existir, execute

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

para ver os possíveis locais e a sequência de carregamento / leitura do my.cnf para o mysql, crie o arquivo my.cnf em um dos diretórios sugeridos e adicione a seguinte linha

[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

Você pode sudo touch /{preferred-path}/my.cnf e editar o arquivo para adicionar o modo sql

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

Então reinicie o mysql, voilaah você está pronto para ir. codificação feliz

Então, nenhuma dessas coisas funcionou para mim. Eu estou usando a instalação atual do dmg do servidor da comunidade mysql. ps mostra que todos os parâmetros mais críticos normalmente em my.cnf são passados ​​na linha de comando, e eu não conseguia descobrir de onde isso vinha. Depois de fazer uma pesquisa de texto completo da minha checkbox eu encontrei em:

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

Então, você pode alterá-los ou removê-los para que realmente respeite os que você tem em my.cnf onde quer que tenha decidido colocá-los.

Apreciar!

você pode verificar o arquivo /usr/local/bin/mysql.server e ver de onde my.conf está sendo lido. geralmente é de /etc/my.cnf ou ~ / my.cnf

Para o MAMP 3.5 Mac El Capitan, crie um arquivo de configuração vazio separado e escreva suas configurações adicionais para o mysql

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

E adicione assim

 [mysqld] max_allowed_packet = 256M 

Eu verifiquei no macOS Sierra, o homebrew instalado MySql 5.7.12

Os arquivos de suporte estão localizados em

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

Apenas copie my-default.cnf como /etc/my.cnf ou /etc/mysql/my.cnf e a configuração será selecionada na reboot.

Eu estou usando o mysql versão 5.7.17 no MacOS High Sierra versão 10.13.3 e eu encontrei o arquivo de configuração mysql aqui.

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

MacOS High Sierra versão 10.13.6

mysql Ver 14.14 Distrib 5.7.22, para osx10.13 (x86_64) usando o wrapper EditLine Copyright (c) 2000, 2018, Oracle e / ou suas afiliadas. Todos os direitos reservados

As opções padrão são lidas dos seguintes arquivos na ordem indicada:

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

Para o Mac, o que funcionou para mim é criar um arquivo .my.cnf no meu ~ caminho. Espero que isto ajude.

Copie /usr/local/opt/mysql/support-files/my-default.cnf como /etc/my.cnf ou /etc/mysql/my.cnf e, em seguida, reinicie o mysql.

Para mim na versão da serra

copie a configuração padrão em:

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

para

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

No meu caso, o arquivo não existia. No MySQL Workbench eu fui ao OPTIONS FILE e encontrei alguns valores padrão. Eu cliquei em aplicar. Pediu permissão. Em seguida, criou o arquivo my.cnf em / etc. No entanto, é muito importante ter em mente que na primeira vez que você clica em “aplicar”, você não faz nenhuma alteração na configuração padrão. Uma vez que o arquivo foi criado, você pode fazer alterações que serão aplicadas quando você clicar em “aplicar”. Caso contrário, você não verá o botão Aplicar ao fazer alterações.

Após a versão 5.7.18 do MySQL, ele não fornece o arquivo de configuração padrão no diretório support-files. Assim você pode criar o arquivo my.cnf manualmente no local onde o MySQL irá ler, como /etc/mysql/my.cnf, e adicionar a configuração que você deseja adicionar no arquivo.

rAs opções padrão são lidas dos seguintes arquivos na ordem indicada: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~ / .my.cnf

macOs sierra 10.12.6 versão mysql: 5.7.18_1 eu corro localizar my.cnf e o caminho é

/usr/local/etc/my.cnf

espero que ajude.