Por que o /etc/mysql/my.cnf EMPTY?

10

Estou tentando editar o arquivo my.cnf para permitir o acesso remoto e, finalmente, usar o software do meu Windows Server para configurar o backup agendado para o servidor MySQL.

Eu estava seguindo estas instruções . No entanto, o arquivo /etc/mysql/my.cnf no meu Ubuntu tem 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/

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

    
por Mercedez 19.11.2015 / 07:21

3 respostas

20

Em primeiro lugar, como A.B. corretamente aponta, o arquivo não está vazio. Tem duas directivas bastante importantes, nomeadamente

!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
    
por Techedemic 19.11.2015 / 07:49
2

O arquivo não está vazio. Ele contém comentários, as linhas com as principais instruções # e import, as linhas com uma% principal ! . Uma declaração de importação significa que outras configurações serão usadas também.

E editar uma configuração também significa adicionar novas linhas de configuração.

    
por A.B. 19.11.2015 / 07:24
1

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

Para adicionar bind-address , você precisará adicionar [mysqld] acima dela.

Se você precisa verificar quais são os grupos para os outros comandos, há um exemplo my.cnf file aqui .

Se você quiser ativar conexões remotas de todas as interfaces , seu arquivo seria algo como abaixo, no entanto, certifique-se de configurar seu firewall corretamente se você usar 0.0.0.0:

#
# 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.
#

[mysqld]    
bind-address = 0.0.0.0

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

Anote o grupo [mysqld].

    
por Rob 10.08.2017 / 16:13

Tags