J'étais aux prises avec un message d'erreur similaire aujourd'hui et voici ce que j'ai découvert.
- L'option "REQUIRE SSL" pour le GRANT nécessite uniquement SSL pour la connexion et ne nécessite pas la fourniture d'un certificat côté client.
- La CLI mysql ne gère pas SSL comme je m'y attendais. Par exemple, sur MySQL 5.5, le
--ssl
l'option ne semble pas vraiment activer le transport SSL. - J'ai dû ajouter l'option
--ssl-cipher=DHE-RSA-AES256-SHA:AES128-SHA
pour que le client mysql utilise réellement SSL et autorise l'authentification avec le client.
Voici les étapes exactes que j'ai suivies pour configurer mon nouvel utilisateur :
CREATE USER 'ssl-user'@'%' identified by '<password>';
GRANT USAGE ON *.* TO 'ssl-user'@'%' identified by '<password>' REQUIRE SSL;
GRANT ALL PRIVILEGES ON `your-database`.* TO 'ssl-user'@'%';