[mysql] s'applique au client en ligne de commande mysql - [mysql et options clients]
[client] s'applique à tous les clients qui se connectent (y compris mysql cli) - [options mysql et client]
[mysqld] s'applique au serveur mysql - [options du serveur]
[mysqldump] s'applique à l'utilitaire du même nom - [options mysqldump]
...etc
La différence entre le (-) et le (_) est le contexte dans lequel il est utilisé.
(-) est utilisé dans les paramètres de la ligne de commande, où (_) est utilisé dans les paramètres du fichier d'options.
Vous pouvez en voir plus dans la documentation :http://dev .mysql.com/doc/refman/5.5/en/option-files.html