Por que o /etc/mysql/my.cnf é VAZIO?


15

Estou tentando editar o my.cnfarquivo para permitir acesso remoto e, finalmente, usando o software do meu Windows Server para configurar o backup agendado para o MySQL Server.

Eu estava seguindo estas instruções . No entanto, o /etc/mysql/my.cnfarquivo no meu Ubuntu possui apenas:

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Não contém nenhuma configuração que eu possa editar. Por que é assim?


Tudo isto significa é que o arquivo é apenas no estado padrão, em forma original desde a instalação
Sergiy Kolodyazhnyy

Respostas:


29

Em primeiro lugar, como AB indica corretamente, o arquivo não está vazio. Possui duas diretrizes bastante importantes, a saber:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

Essas linhas estão dizendo que arquivos de configuração adicionais (.cnf neste caso) podem ser encontrados nos diretórios listados:

/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

O último dos dois diretórios deve conter mysqld.cnf . Em outras palavras, o arquivo de configuração apropriado deve ser:

/etc/mysql/mysql.conf.d/mysqld.cnf

2
algumas coisas não estão certas de qualquer maneira. quando eu editar o arquivo my.conf metade vazio e ex conjunto wait_timeout = 600, o mysql serviço não pode ser iniciado mais ..
phil294

Esta é a resposta exata para a pergunta.
Lasitha Benaragama

Gostaria de encontrá-lo 6 horas antes!
213 neófito

@Blauhirn O mesmo aqui quando eu declaro uma senha aqui. Sem ele, o serviço é iniciado, mas aparentemente no [mysqld] nem tudo é analisado como wait_timout e senha.
min hundje 12/07/19

5

O arquivo não está vazio. Ele contém comentários - as linhas com um líder #- e instruções de importação - as linhas com um líder !. Uma declaração de importação significa que outras configurações também serão usadas.

Editar um arquivo de configuração também significa adicionar novas linhas de configuração.


3

Meu arquivo é o mesmo. Você precisa adicionar o grupo correto acima do comando que está tentando inserir, caso contrário o serviço não será iniciado.

Para adicionar, bind-addressvocê precisará adicionar [mysqld]acima dele.

Se você precisar verificar quais são os grupos para os outros comandos, há um my.cnfarquivo de exemplo aqui .

Se você deseja habilitar conexões remotas de todas as interfaces (ou seja, 0.0.0.0), seu arquivo será semelhante a abaixo; no entanto, certifique-se de configurar seu firewall corretamente.

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]    
bind-address = 0.0.0.0

Observe o grupo [mysqld].


Essa é uma dor em um **. Há quase dois dias que tentamos fazer as conexões remotas funcionarem. As conexões remotas devem ser ativadas imediatamente.
Mark Alexa

Por que você expõe todos os servidores de banco de dados à Internet imediatamente? Não existem sistemas não seguros suficientes por aí?
A. Scherbaum 10/10


2

Nesse caso, esse arquivo não é o principal onde estão incluídas todas as informações sobre endereço de ligação, binlogs e etc. Mas há outro arquivo, onde eles incluem. Tente o seguinte:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Isso me ajudou e deveria ajudá-lo.


1

No Ubuntu 16.04 / MySQL 5.7, pelo menos o my.cnf está vazio porque é um link simbólico para outro arquivo que volta ao mysql.cnf em /etc/mysql/mysql.conf.d mencionado em outras respostas. Faça as alterações aqui como mencionado acima.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.