J'ai créé un utilisateur dans MySQL mais je ne peux pas me connecter avec.
MariaDB [(none)]> create user fe_joomla;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on fe_joomla.* to fe_joomla;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show grants for fe_joomla;
+----------------------------------------------------------+
| Grants for fe_joomla@% |
+----------------------------------------------------------+
| GRANT USAGE ON *.* TO 'fe_joomla'@'%' |
| GRANT ALL PRIVILEGES ON `fe_joomla`.* TO 'fe_joomla'@'%' |
+----------------------------------------------------------+
2 rows in set (0.00 sec)
$ mysql -u fe_joomla fe_joomla
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'fe_joomla'
J'ai suivi ce guide. http://www.mysqltutorial.org/mysql-grant.aspx
mysql -u fe_joomla
sans spécifier une base de données; si cela fonctionne, la base de données n'existe pas et vous devez la créer avant que tout utilisateur puisse y accéder. A-t-il vraiment dit user ''@'localhost'
avec rien dans le ''
?? @ Michael-sqlbot: il ne l'a pas fait et c'est la raison pour laquelle 1044 pas 1045. MySQL prend en charge les utilisateurs sans mot de passe, bien que utilisation eux est une question différente.
mysql -u fe_joomla -pfe_joomla
et j'ai aussi négligé ''@'localhost'
c'est pourquoi j'ai posé une question qui n'avait aucun sens. Tout comme les mots de passe vides, il y a ce méchant utilisateur de chaîne vide créé par défaut dans les anciennes versions (à moins que vous n'exécutiez mysql_secure_installation
) est en correspondance.