Ou o Mysql não inicia ou o cliente mostra erro “Opção encontrada sem grupo anterior no arquivo de configuração”

1

Minha idéia era adaptar a configuração do meu servidor MySQL fazendo uso do diretório de configuração que ele possui e inclui (através da diretiva !includedir /etc/mysql/conf.d/ no final de /etc/mysql/my.cnf ):

/etc/mysql/conf.d

Então criei um arquivo de configuração chamado /etc/mysql/conf.d/innodb.cnf .

Agora, quando exibo a versão por meio de $ mysql --version , vejo o seguinte erro:

  

error: Found option without preceding group in config file: /etc/mysql/conf.d/innodb.cnf at line: 3

O que é verdade, esse arquivo não tem esse grupo na primeira linha. Eu comentei intencionalmente , aqui as três primeiras linhas:

$ head -n 3 /etc/mysql/conf.d/innodb.cnf
# [mysqld]
# my settings
innodb_read_io_threads=4

Se eu não comentar o grupo, então usar service mysql start na linha de comando colocaria o mysql em um loop de inicialização sem fim, ele tenta novamente com tanta freqüência para iniciar o daemon mysql que deve falha então e tenta novamente até eu comentar o grupo novamente.

Então, agora estou em uma situação paradoxal. Eu poderia

  • : tenha o arquivo como está (o grupo comentou) e veja o erro

  • ou: não obtém o erro mas não pode iniciar o mysql

Agora estou procurando opções sobre como lidar com essa situação.

Estou usando o Ubuntu 14.04 com a área de trabalho do Kubuntu e o Mysql 5.5.

    
por hakre 11.07.2016 / 11:48

2 respostas

1

No meu caso, estou usando o Ubuntu 16.04 Que tinha! Incluir com arquivos externos como assim

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
innodb_buffer_pool_size = 20M

Acabei de incluir o [mysqld] antes da nova linha que adicionei à minha nova instalação do Wordpress

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
innodb_buffer_pool_size = 20M
    
por Emma 22.11.2017 / 23:00
0

O problema é que o arquivo de configuração continha uma diretiva que impedia o mysql de iniciar. Enquanto estava em erro (sem o grupo), não foi carregado para que o erro não ganhasse vida e o servidor pudesse iniciar sem erros.

Eu solucionei isso iniciando e interrompendo o serviço mysql com o grupo corretamente escrito no topo do arquivo e, em seguida, espiando no log de erros para identificar o problema:

$ sudo tail -f /var/log/mysql/error.log

Eu tive um erro como

2016-07-11 11:59:22 17164 [ERROR] /usr/sbin/mysqld: unknown variable 'table_cache=2048'
2016-07-11 11:59:22 17164 [ERROR] Aborting

Qual é uma configuração desatualizada. Uma vez renomeado, tudo funciona como um encanto novamente.

Erro típico de não ver a madeira para as árvores.

Referências:

por hakre 11.07.2016 / 12:07