Para instalações do homebrew mysql, onde está o my.cnf? Ele instala um?
293
Não existe my.cnf por padrão. Como tal, o MySQL começa com todas as configurações padrão. Se você deseja criar seu próprio my.cnf para substituir os padrões, coloque-o em /etc/my.cnf.
Além disso, você pode executar mysql --help
e procurar nele os locais de conf listados.
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 você pode ver, também existem algumas opções para ignorar os arquivos conf ou especificar outros arquivos para serem lidos quando você chamar o mysql na linha de comando.
ls $(brew --prefix mysql)/*.cnf
mysql --help | grep cnf
foi realmente mais fácil encontrar as linhas.O mysql do homebrew contém arquivos de configuração de amostra na pasta de arquivos de suporte da instalação.
Se você precisar alterar as configurações padrão, poderá usar uma delas como ponto de partida.
Como o @rednaw aponta, uma instalação homebrew do MySQL provavelmente estará presente,
/usr/local
portanto o arquivo my.cnf não deve ser adicionado à/etc
pasta do sistema , então mudei o comando para copiar o arquivo/usr/local/etc
.Se você estiver usando o MariaDB em vez do MySQL, use o seguinte:
fonte
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
/usr/local/
(que eu acho padrão), você também pode inserir omy.conf
in/usr/local/etc/
, que não requer privilégios de root.brew --prefix mariadb
. Na distribuição MariaDB omy-default.cnf
não existe - então usemy-small.cnf
. Tente istocp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
Uma maneira de descobrir:
fonte
mdfind -name my.cnf
em vez delocate
comando em OSXlocate my.cnf
trabalhou diretamente. Eu não corrisudo /usr/libexec/locate.updatedb
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnf
e/usr/local/etc/my.cnf
foi o que eu tenhono meu sistema era
como modelo e
como trabalhando.
fonte
Nada realmente me ajudou - não consegui sobrescrever as configurações em um arquivo /etc/my.cnf. Então, eu procurei como John sugeriu https://stackoverflow.com/a/7974114/717251
Encontrou outro my.cnf no
alterar este arquivo funcionou para mim! Não se esqueça de reiniciar o agente de inicialização:
Atualizar:
Se você possui uma instalação bastante recente do homebrew, use os comandos brew services para reiniciar o mysql (use sua versão do homebrew mysql instalada, por exemplo, mysql ou [email protected]):
fonte
brew services stop mysql
ebrew services start mysql
no lugar daslaunchctl unload ...
linhas.Como
mysql --help
mostra uma lista de arquivos, acho útil canalizar o resultadols
para ver quais deles existem:Para o meu (Homebrew instalado) MySQL 5.7, parece que os arquivos estão ativados
/usr/local/etc/my.cnf
.fonte
No seu tipo de shell
my_print_defaults --help
Na parte inferior do resultado, você poderá ver o arquivo no qual o servidor lê as configurações. Imprime algo como isto:
fonte
Você pode encontrar onde o
my.cnf
arquivo foi fornecido pelo pacote específico, por exemploAlém de verificar se esse arquivo é lido, você pode executar:
que mostrará a atividade do sistema de arquivos em tempo real relacionada a esse arquivo.
fonte
Eu acredito que a resposta é não. Instalar um em ~ / .my.cnf ou / usr / local / etc parece ser a solução preferida.
fonte
No caso do Homebrew, o mysql também procuraria my.cnf no diretório Cellar, por exemplo:
Para o caso, prefere manter a configuração próxima aos binários - crie
my.cnf
aqui se estiver faltando.Reinicie o mysql após a alteração:
fonte
Versão do servidor: 8.0.19 Homebrew. macOS Catalina 10.15.5 e instalou o MySQL via Homebrew. Encontre este arquivo aqui:
Esta solução ajudou :)
fonte
Para MacOS (High Sierra), o MySQL foi instalado com o brew doméstico.
Aumentar as variáveis globais do ambiente mysql não teve êxito. Portanto, nesse caso, a criação de ~ / .my.cnf é a opção mais segura. A adição de variáveis com [mysqld] incluirá as alterações (Nota: se você alterar com [mysql], a alteração poderá não funcionar).
Reinicie o servidor mysql. e verifique as variáveis. y
1 linha no conjunto (0,00 s)
fonte
$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
Solte seu arquivo my.cf em
/usr/local/opt/mysql
brew services restart mysql
fonte