Je configure habituellement MySQL correctement pour avoir un accès à distance.
Et actuellement, je suis resté coincé avec MySQL 8.
La première chose est que sur mysql.conf.d/mysqld.cnf, je n'ai pas de ligne d'adresse de liaison, donc je l'ai ajoutée à la main (adresse de liaison 0.0.0.0) Et j'ai accordé l'accès à l'utilisateur sur '%'
Lorsque je me suis connecté, j'ai reçu le message "Échec de l'authentification"
Mais cela fonctionne bien sur localhost/ligne de commande
Comment faire:
bind_address
paramètre du my.ini
fichier.(Le nom du fichier est différent selon le système d'exploitation. Sous Linux my.ini est en fait my.cnf situé dans le répertoire/etc/mysql /)
Créez l'utilisateur root
(oui, un nouvel utilisateur car ce qui existe est 'root @ localhost' qui est un accès local uniquement):
CREATE USER 'root'@'%' IDENTIFIED BY '123';
Donnez les privilèges:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Pour [~ # ~] dba [~ # ~] utilisateur, ajoutez
WITH GRANT OPTION
à la fin.
Parce que cela ne fonctionne pas CRÉER avec GRANT?
MySQL 8 ne peut plus créer un utilisateur avec GRANT
, il y a donc une erreur dans IDENTIFIED BY '123'
si vous essayez de l'utiliser avec GRANT
, ce qui est l'erreur la plus courante.