web-dev-qa-db-fra.com

Mysql ne démarre pas ou le client affiche l'erreur "Option trouvée sans groupe précédent dans le fichier de configuration".

Mon idée était d’adapter la configuration de mon serveur Mysql en utilisant le répertoire de configuration qu’il possède et qui inclut (via la directive !includedir /etc/mysql/conf.d/ à la fin de /etc/mysql/my.cnf):

/etc/mysql/conf.d

J'ai donc créé un fichier de configuration appelé /etc/mysql/conf.d/innodb.cnf.

Maintenant, lorsque j'affiche la version via $ mysql --version, l'erreur suivante apparaît:

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

Ce qui est vrai, ce fichier n'a pas un tel groupe dans la première ligne. Je l'ai commenté intentionnellement ici, voici les trois premières lignes:

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

Si je voulais pas commenter le groupe, alors utiliser service mysql start sur la ligne de commande mettrait mysql dans une boucle de démarrage sans fin, il tente autant de fois de lancer le démon mysql qui doit échouer. puis et réessaie jusqu'à ce que je commente à nouveau le groupe.

Alors maintenant, je suis dans une situation paradoxale. je pourrais

  • soit: avoir le fichier tel quel (le groupe commenté) et voir l'erreur

  • ou: ne pas obtenir l'erreur mais ne peut pas démarrer mysql

Maintenant, je cherche des options sur la façon de gérer cette situation.

J'utilise Ubuntu 14.04 avec le bureau Kubuntu et Mysql 5.5.

1
hakre

Dans mon cas, j'utilise Ubuntu 16.04, qui avait! Inclure avec des fichiers externes comme

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

Je viens d’inclure [mysqld] avant la nouvelle ligne que j’ai ajoutée pour mon Wordpress nouvelle installation

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[mysqld]
innodb_buffer_pool_size = 20M
1
Emma

Le problème est que le fichier de configuration contenait une directive qui empêchait mysql de démarrer. Tant qu'il s'agissait d'une erreur (sans le groupe), il n'était pas chargé, de sorte que l'erreur ne se matérialisait pas et que le serveur pouvait démarrer sans erreur.

J'ai résolu ce problème en démarrant puis en arrêtant le service mysql avec le groupe correctement écrit au-dessus du fichier, puis en parcourant le journal des erreurs pour repérer le problème:

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

J'ai eu une erreur comme

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

Ce qui est un paramètre obsolète. Une fois renommé, tout fonctionne à nouveau comme un charme.

Erreur typique de ne pas voir le bois pour les arbres.

Références:

0
hakre