Estaba luchando con un mensaje de error similar hoy y esto es lo que descubrí.
- La opción "REQUIERE SSL" para GRANT solo requiere SSL para la conexión y no requiere que se proporcione un certificado del lado del cliente.
- La CLI de mysql no maneja SSL como esperaba. Por ejemplo, en MySQL 5.5, el
--ssl
La opción no parece habilitar realmente el transporte SSL. - Tuve que agregar la opción
--ssl-cipher=DHE-RSA-AES256-SHA:AES128-SHA
para que el cliente mysql realmente use SSL y permita la autenticación con el cliente.
Estos son los pasos exactos que usé para configurar mi nuevo usuario:
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'@'%';