Resumo : neste tutorial, você explorará o arquivo de configuração do MySQL, descobrirá sua localização e compreenderá sua estrutura.
Introdução ao arquivo de configuração do MySQL
Programas MySQL como mysqld , mysqladmin , mysqldump e assim por diante oferecem uma maneira conveniente de configurar e gerenciar opções comumente usadas através de arquivos de opções, também conhecidos como arquivos de configuração .
Os arquivos de configuração permitem evitar a inserção de opções de linha de comando sempre que você executa um programa.
Verificando se um programa MySQL lê os arquivos de opções
Para determinar se um programa MySQL lê o arquivo de configuração, siga estas etapas:
Primeiro, abra o Terminal.
Segundo, execute o seguinte comando:
program --verbose --help
Por exemplo, você pode usar o seguinte comando para verificar qual arquivo de configuração o mysqld
programa usa:
mysqld --verbose --help
Se mysqld
ler arquivos de configuração, a mensagem de ajuda indicará quais arquivos procura e quais grupos de opções reconhece.
Como o comando retorna uma saída muito longa, no Linux e no macOS, você pode usar o less
comando para mostrar a primeira página:
mysqld --verbose --help | less
No Windows, você pode usar o comando mais:
mysqld --verbose --help | more
Observe que para escapar da saída, você pressiona a letra q
.
Aqui está a saída extraída que é relevante para o arquivo de configuração e grupos de seções:
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
The following groups are read: mysql client
Linguagem de código: PHP ( php )
Ordem de processamento do arquivo de configuração do MySQL
A saída mostra que o mysqld
programa lê o arquivo de configuração na seguinte ordem:
/etc/my.cnf
/etc/mysql/my.cnf
~/.my.cnf
Se existirem vários arquivos, ele mysqld
lerá todos eles na ordem. A ordem de leitura dos arquivos de opções é importante porque as opções especificadas posteriormente podem substituir as opções especificadas anteriormente.
Além disso, a saída mencionou que o mysqld lerá duas seções: mysql
e client
. Em outras palavras, ele lerá os parâmetros nas seções [mysq]
e [client]
.
No Windows
Os programas MySQL leem as opções de inicialização dos seguintes arquivos na ordem especificada:
%WINDIR%\my.ini
,%WINDIR%\my.cnf
: Opções globaisC:\my.ini
,C:\my.cnf
: Opções globaisBASEDIR\my.ini
,BASEDIR\my.cnf
: Opções globaisdefaults-extra-file
: Arquivo especificado com--defaults-extra-file
, se houver%APPDATA%\MySQL\.mylogin.cnf
: Opções de caminho de login (somente clientes)DATADIR\mysqld-auto.cnf
: Variáveis do sistema persistidas comSET PERSIST
ouSET PERSIST_ONLY
(somente servidor)
Em sistemas Unix e semelhantes a Unix
Os programas MySQL leem as opções de inicialização dos seguintes arquivos na ordem especificada:
/etc/my.cnf
: Opções globais/etc/mysql/my.cnf
: Opções globaisSYSCONFDIR/my.cnf
: Opções globais$MYSQL_HOME/my.cnf
: Opções específicas do servidor (somente servidor)defaults-extra-file
: Arquivo especificado com--defaults-extra-file
, se houver~/.my.cnf
: Opções específicas do usuário~/.mylogin.cnf
: Opções de caminho de login específicas do usuário (somente clientes)DATADIR/mysqld-auto.cnf
: Variáveis do sistema persistidas comSET PERSIST
ouSET PERSIST_ONLY
(somente servidor)
Sintaxe do arquivo de configuração MySQL
O arquivo de configuração consiste em uma ou mais seções . Cada seção começa com um colchete ( []
) e seguida por um ou mais parâmetros.
Por exemplo:
[mysqld]
datadir=/var/lib/mysql
port=3306
Linguagem de código: JavaScript ( javascript )
Neste exemplo:
[mysqld]
é a seção domysqld
programa.datadir
especifica o diretório de dados onde o MySQL armazena seus dados.port
define a porta na qual o MySQL escuta conexões.
A sintaxe para especificar parâmetros na configuração é semelhante à sintaxe da linha de comando. No entanto, você omite os dois travessões iniciais ( --option_name
) do nome da opção e especifica apenas uma opção por linha.
Por exemplo, --port=3306
na linha de comando deve ser especificado como port=3306
em uma linha separada no arquivo de configuração.
O arquivo de configuração pode conter !include
diretivas para incluir outros arquivos de configuração ou !includedir
diretivas para pesquisar arquivos de configuração em diretórios específicos.
Por exemplo, o seguinte mostra um arquivo de configuração do MySQL no Ubuntu:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Observe que os programas MySQL não garantem a ordem em que leem os arquivos de configuração.
Para adicionar uma nota ao arquivo de configuração, você inicia a nota com o #
sinal seguido dos comentários. Ao ler o arquivo de configuração, os programas MySQL ignoram os comentários.
Por exemplo, o seguinte adiciona o comentário a cada parâmetro no arquivo de configuração para torná-lo mais claro:
[mysqld]
# The directory where MySQL stores its data files.
datadir=/var/lib/mysql
# The port on which the MySQL server listens for incoming connections.
port=3306
Linguagem de código: PHP ( php )
Além disso, você pode usar # para remover uma opção como esta:
[mysqld]
# The directory where MySQL stores its data files.
# datadir=/var/lib/mysql
# The port on which the MySQL server listens for incoming connections.
port=3306
Linguagem de código: PHP ( php )
Neste exemplo, removemos a datadir
opção transformando a linha em um comentário.
Modificando o arquivo de configuração do MySQL
É uma boa prática fazer backup do arquivo de configuração para evitar perda de dados se você fizer alterações acidentais. Além disso, você deve manter uma documentação clara para quaisquer alterações feitas no arquivo de configuração.
Para editar o arquivo de configuração, você pode usar um editor de texto como nano
ou vim
com o seguinte comando:
sudo nano /etc/mysql/my.cnf
ou
sudo vi /etc/mysql/my.cnf
No Windows, você pode usar um editor de texto simples como o Bloco de Notas.
Antes de aplicar as alterações à produção, você deve sempre verificar a sintaxe do arquivo de configuração e testá-lo no servidor de teste.
Para verificar a sintaxe do arquivo de configuração, use o seguinte comando:
mysqld --validate-config
Se você não vir nenhuma saída, significa que os arquivos de configuração são válidos.
Após salvar as alterações, reinicie o serviço MySQL para aplicá-las ao servidor.
Resumo
- Os programas MySQL gerenciam suas opções por meio de linha de comando e arquivos de configuração.
- Use arquivos de configuração do MySQL para evitar inserir opções de linha de comando sempre que executar um programa.