Existe um comando para determinar qual arquivo de configuração o MySQL 5.0 está usando atualmente?
mysql
configuration
yalestar
fonte
fonte
ps auxf
e encontrar o comando executado para o MySQL. Normalmente, parece algo comomysqld --basedir=/usr/local/mysql ...
(observe o ... apenas significa que pode haver mais sinalizadores no comando, mas eu não vou listar tudo) Depois que você o encontrar, copie a coisa toda e desligue o MySQL. Se você estiver no Linux, é/etc/init.d/mysqld stop
oumysqladmin -u root -p shutdown
. Em seguida, executestrace
o comando mysql que você copiou. Portanto, seria assim: #strace mysqld --basedir=/usr/local/mysql
open(...
linha. Em vez disso, tenho 4 linhas que terminam com= -1 Err#2
. Como você sabe agora qual arquivo está carregado?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe, essa saída provavelmente significa que nenhum dos arquivos foi encontrado e nenhum foi aberto.Extraído do fantástico livro "High Performance MySQL" O'Reilly:
fonte
!includedir
. Estou tentando descobrir por que a!includedir
diretiva no meu/etc/mysql/my.cnf
arquivo não está funcionando.mysqld
com o caminho completo ?!Se você executar,
mysql --verbose --help | less
ele informará sobre a linha 11 quais.cnf
arquivos serão procurados.Você também pode fazer
mysql --print-defaults
para mostrar como os valores de configuração serão usados. Isso também pode ser útil para identificar apenas qual arquivo de configuração está sendo carregado.fonte
mysqld
vez demysql
mysqld --print-defaults
, deu-me exatamente o que eu queria quando pesquisei essa pergunta no Google.Estou no Windows e instalei a versão mais recente da comunidade MySQL 5.6
O que fiz para ver qual arquivo de configuração usa foi acessar Ferramentas Administrativas> Serviços> MySQL56> Clique com o botão direito do mouse> Propriedades e verifique o caminho do executável:
"C: / Arquivos de programas / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56
fonte
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
por padrão.Uma alternativa é usar
fonte
mysqld --help --verbose é perigoso. Você pode sobrescrever facilmente o pidfile para a instância em execução! use-o com --pid-file = XYZ
Ah, e você realmente não pode usá-lo se tiver mais de uma instância em execução. Apenas mostrará o valor padrão.
Artigo muito bom sobre isso:
Como encontrar o arquivo de configuração MySQL?
fonte
Acabei de fazer um teste rápido no ubuntu:
instalou o mysql-server, que criou /etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1 "Opções padrão"
110112 13:35:26 [Nota] O plug-in 'FEDERATED' está desativado.
As opções padrão são lidas nos seguintes arquivos na ordem especificada: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf
criado /etc/my.cnf e /usr/etc/my.cnf, cada um com um número de porta diferente
mysql reiniciado - estava usando o número da porta definido em /usr/etc/my.cnf
Enquanto isso, também encontrei a opção --defaults-file no mysqld. Se você especificar um arquivo de configuração, apenas ele será usado, independentemente do que é retornado por / usr / sbin / mysqld --verbose --help | grep -A 1 "Opções padrão"
fonte
Usando o MySQL Workbench, será mostrado em "Status do Servidor":
fonte
Achei isso realmente útil:
Control Panel -> Administration Tools
Properties
Path to executable
veja se ele contém o caminho para omy.ini/my.cfg
fonte
Alguns servidores têm várias versões do MySQL instaladas e configuradas. Verifique se você está lidando com a versão correta executando com um comando Unix de:
fonte
Para pessoas que executam o servidor windows com o mysql como um serviço, uma maneira fácil de descobrir qual arquivo de configuração você está executando é abrir o painel de controle de serviços, encontrar o serviço mysql (no meu caso 'MYSQL56'), clicar com o botão direito do mouse e clicar em Propriedades. . Então, a partir daqui, você pode verificar o "Caminho para o executável", que deve ter uma
defaults-file
opção que aponte para onde está o seu arquivo de configuração.fonte
Caso você esteja executando o mac, isso também pode ser alcançado por:
fonte
Se você estiver no Windows, poderá usar o procmon Sysinternals . Abra-o e defina as configurações de filtro como esta e clique em "Adicionar". Agora procmon irá monitorar o mysqld.
Agora inicie seu servidor mysql normalmente. O Procmon irá capturar as operações em segundo plano do mysql. Pesquise "meu". no painel de resultados do procmon e você encontrará algo como o seguinte:
É claro que o mysql pesquisa uma lista de arquivos de configuração por sua vez. No meu caso, foi encontrado com
C:\mysql-5.7.19-winx64\my.cnf
sucesso, por isso está usando este.fonte
Eu instalei o mysql use brew install mysql
E isso mostra:
fonte