Localização my.ini do MySQL

92

Já vi http://dev.mysql.com/doc/refman/4.1/en/mysql-config-wizard-file-location.html

como saber a localização do mysql my.cnf

e

http://dev.mysql.com/doc/refman/5.1/en/option-files.html

Mas ainda estou preso à velha questão! "Onde está meu my.ini" Estou usando o Windows Server 2008 com mysql 5.5.28. Instalei o serviço usando mysqld --install e estou apto a usar o servidor mysql usando sqlyog. Mas, infelizmente, não consigo encontrar my.ini em installation directoryou não em c:\nem em c:\windowsnem em data_dirconsulta show variables like "mysql_home"retornou nada também.

Alguma sugestão?

Seiva
fonte
6
No MySQL 5.6 os dados my.inisão armazenados em (pelo menos no meu caso)C:\ProgramData\MySQL\MySQL 5.6
moriesta

Respostas:

35

Você tem que olhar a pasta, C:\Program Files\MySQL\MySQL Server 5.5mas há um problema. Quando você executa uma instalação MSI do MySQL, my.ini não é criado. Haverá arquivos .ini de amostra nessa pasta. Para usar um deles, digamos my-medium.ini, você precisa fazer o seguinte antes de reiniciar o MySQL:

cd C:\Program Files\MySQL\MySQL Server 5.5
copy my-medium.ini my.ini
net stop mysql
net start mysql

Depois de fazer isso, my.inipode ser lido por C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe.

RolandoMySQLDBA
fonte
1
então pelo que você está dizendo .. Meu servidor não está usando nenhum my.ini, está? Também parece ser o caso, porque acabei de renomear todos os my- [size] .ini e mysql ainda funcionam corretamente !!!
Sap de
44
Se você usar o instalador MSI, ele criará um my.ini em% PROGRAMDATA% \ MySQL \ MySQL Server XY \ e o usará. Portanto, esta solução não funcionará com ele.
NurShomik
4
Para executar o serviço MySQL com o my.iniarquivo que você criou, você precisa parar o serviço atual primeiro net stop mysqle depois removê-lo: sc remove mysql. Então você precisa instalar um novo serviço: "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --install newMySQL --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini" Agora você pode executar o serviço com o net start newmysqlcomando.
NurShomik
2
Só quero melhorar o comentário, deve ser 'sc delete' e não 'sc remove' no Windows 10.
lsc
6
Para MySQL 5.7 no windows my.ini, a localização pode ser "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ my.ini"
Mohsin Saeed
179

LOCALIZAÇÃO my.ini NO WINDOWS MYSQL 5.6 MSI (USANDO O ASSISTENTE DE INSTALAÇÃO)

Abra um shell de comando do Windows e digite: echo %PROGRAMDATA%. No Windows Vista, isso resulta em: C:\ProgramData.

De acordo com http://dev.mysql.com/doc/refman/5.6/en/option-files.html , o primeiro local que o MySQL procurará é em %PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini. No shell do Windows, se você fizer isso ls "%PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini", verá que o arquivo está lá.

Ao contrário da maioria das sugestões que você encontrará no Stackoverflow e na web, colocar o arquivo em C:\Program Files\MySQL\MySQL Server 5.6\my.iniNÃO FUNCIONARÁ. Nem vai C:\Program Files (x86)\MySQL\MySQL Server 5.1. O motivo citado no link MySQL postado acima:

No Windows, os programas MySQL lêem as opções de inicialização dos arquivos a seguir, na ordem especificada (os itens principais são usados ​​primeiro).

O instalador 5.6 MSI faz criar um my.ini no maior local de prioridade, o que significa que nenhum outro arquivo nunca será encontrado / utilizado, exceto para o que foi criado pelo instalador.

A solução aceita acima não funcionará para 5.6 instalações baseadas em MSI.

barista amador
fonte
3
Sim, o meu estava dentro %PROGRAMDATA%\MySQL\MySQL Server 5.6. Eu teria preferido que estivesse nos arquivos do programa ...
jurchiks
@ amador-barista, você sabe como fazer o instalador usar o arquivo my.ini nos Arquivos de Programas ao invés do arquivo em ProgramData? Além disso, como fazer o MySQL Workbench usar o que eu forneço, em vez do criado pelo instalador?
NurShomik
A frase inteira é "No Windows, os programas MySQL lêem as opções de inicialização dos seguintes arquivos, na ordem especificada (os arquivos principais são lidos primeiro, os arquivos posteriores têm precedência)." Não entendo, por que esse é o local de maior prioridade?
StackExploded de
Então, por que diabos mesmo o ambiente de trabalho do MySQL sugere em muitos lugares, que aquele do diretório de instalação seja usado? E por que isso não é mencionado nos documentos do MySQL (vinculados a my-default.ini). Estou muito frustrado :-(
Josef Sábl
98
  1. Digite "services.msc" na caixa de pesquisa do menu Iniciar.
  2. Encontre o serviço MySQL na coluna Nome, por exemplo, MySQL56.
  3. Clique com o botão direito no serviço MySQL e selecione o menu Propriedades.
  4. Procure por "Caminho para executável" na guia Geral, e lá está seu arquivo .ini, por exemplo, "C: \ Arquivos de programas (x86) \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MYSQL56
Bae Cheol Shin
fonte
34

Eu encontrei o meu em

\ProgramData\MySQL\MySQL Server 8.0\

(É uma pasta oculta)

Você pode digitar win+Re escrever %PROGRAMDATA%para acessar essa pasta ou apenas ativar a exibição de pasta oculta.

Mangue Sutcliff
fonte
25

Inicie o MySQL Workbench, em seguida, Servidor -> Arquivo de opções e observe a parte inferior da janela; ele dirá algo como "Arquivo de configuração: C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini"

(E observe a diferença sutil entre "ProgramData" e "Program Files" - fácil de ignorar se você estiver procurando uma resposta rápida.

Chirael
fonte
2
FWIW: No MySQL Workbench 6.1, não há nenhum item de servidor no menu principal, a menos que você abra um banco de dados. Portanto, primeiro você precisa abrir o banco de dados localhost. Em seguida, você pode selecionar Servidor> Arquivo de opções. Em meu sistema, isso trouxe uma caixa de diálogo dizendo que nenhum arquivo my.ini foi encontrado em C: \ Arquivos de programas \ MySQL \ MySQL Server 5.0 \ my.ini (mas um seria criado). Um pouco intrigante, já que estou executando uma versão posterior do MySQL e ele está instalado em outro lugar. Portanto, não exatamente no fundo deste mistério.
gwideman
9

Você pode encontrar o arquivo my.ini no Windows neste local - C: \ ProgramData \ MySQL \ MySQL Server 5.6

a pasta ProgramData é uma pasta oculta, portanto, faça a configuração adequada para ver essa pasta. Abra o arquivo my.ini como administrador para editá-lo e salvá-lo.

anubhs
fonte
9

Respondido apenas por usuários do MySQL Workbench,

insira a descrição da imagem aqui

MAX
fonte
4

No meu caso, a pasta ProgramDataestava oculta por padrão no Windows 7, então não consegui encontrar o my.iniarquivo.

Após a seleção Show Hidden arquivos e pastas opção, eu era capaz de encontrar o my.iniarquivo no local: C:\ProgramData\MySQL\MySQL Server 5.6.

Exibir arquivos e pastas ocultos no Windows 7:

  1. Clique com o botão direito do mouse no botão do logotipo do Windows e escolha Abrir o Windows Explorer.

  2. Clique em Organizar e escolha Opções de pasta e pesquisa.

  3. Clique na guia Exibir, selecione Mostrar arquivos e pastas ocultos e desmarque a caixa de seleção Ocultar arquivos operacionais protegidos do sistema.

  4. Clique em Sim no aviso e clique em OK.

Rahul Dave
fonte
2

está lá em C: \ Arquivos de programas \ MySQL \ MySQL Server 5.5, existem vários arquivos .ini com nomes pequenos, médios e grandes. geralmente médio é usado ou depende de sua necessidade.

Raul
fonte
Ops ... Achei que por padrão deveria ser usado my.ini. Você está correto sobre todos esses arquivos. Eles estão lá no diretório de instalação. Como você confirmaria qual é usado? Bem, vou apenas mover o arquivo temporariamente e ver se o serviço mysql é reiniciado ou não.
Sap de
você pode usar qualquer um deles com base em suas necessidades. Crie o arquivo my.ini copiando o conteúdo de qualquer um desses arquivos (siga a resposta mencionada abaixo para os comandos), então você pode usar ou personalizar seu my.ini & mysql também usará este arquivo my.ini
Raul
2

programDataé uma pasta oculta, então você deve alterar a opção de configuração para mostrar a pasta oculta e, em seguida, fazer a alteração no my.iniarquivo presente nela.

Certifique-se de atualizar o my.iniarquivo correto, pois pode perder muito do seu tempo se você continuar atualizando o arquivo errado.

Você pode examinar o serviço para ver qual my.iniestá configurado neste serviço.

Pavan Gilda
fonte
2

Pressione a tecla Windows> digite serviços> pressione Enter> Pesquisar mysql na lista> clique com o botão direito> propriedades> Caminho para Executável terá a localização do arquivo padrão logo abaixo dele (my.ini)

Mitchell K Mortensen
fonte
1

Abra o tipo de console de execução: services.msc procure: propriedades do clique com o botão direito do mysql onde está escrito "caminho para executável", clique e mova o cursor para a direita até ver o diretório de my.ini, está escrito "arquivo-padrão- " para acessá-lo manualmente em suas pastas de exploração você deve habilitar a visualização de elementos ocultos (explorar pasta> menu superior> visualizar> visualizar elementos ocultos)

como explicado por este vídeo

https://www.youtube.com/watch?v=SvCAa2XuQhg

Tms91
fonte
0

Eu encontrei o mesmo problema quando instalei o MSI do MySQL e não havia arquivos my-medium.ini também quando tentei as etapas acima. Apenas instalar o arquivo ZIP do MySQL me ajudou. Portanto, sugiro que você desinstale a pasta MSI instalada e reinstale usando o arquivo ZIP.

Pabita Allada
fonte
0

no Windows se o MySQL for instalado como um serviço, você pode alterar o binpath do serviço. Por exemplo

sc config MySQL57 binPath= "\"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe\" --defaults-file=\"<myini path>" MySQL57"

espaço após binpath é importante. Você deve escapar de aspas duplas

user3498126
fonte
0

Para MySql Server 8.0 O local padrão é% WINDIR% ou C: \ Windows.

Você precisa adicionar um arquivo "my.ini" lá.

Aqui está um exemplo do que coloquei no arquivo ini.

[mysqld]

secure_file_priv=""

Certifique-se de reiniciar o serviço MySQL depois disso.

user890332
fonte