web-dev-qa-db-fra.com

Accès à distance Mysql 8

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

8
sHaDeoNeR

Comment faire:

  1. Supprimer ou commenter le 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 /)

  1. Redémarrez le service.
  2. 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';

  3. 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.

15
rbz