Autoriser l'accès root à partir de tous les hôtes dans MySQL
Vous avez rencontré un problème en essayant d'accorder l'accès root à tous les hôtes sur Internet pour MySQL sur une machine Ubuntu distante. La première tentative d'ajout d'une ligne avec 'host = %' dans la table mysql.user n'a pas résolu le problème de connectivité depuis votre PC personnel.
Pour résoudre ce problème, deux étapes cruciales sont impliquées :
1. Accorder des privilèges
En tant qu'utilisateur root, exécutez la commande suivante, en remplaçant « mot de passe » par votre mot de passe root actuel :
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
2. Liaison à toutes les adresses
Pour lier MySQL à toutes les interfaces et autoriser les connexions de tous les hôtes, commentez la ligne suivante dans le fichier /etc/mysql/my.cnf (ou /etc/mysql/mysql. conf.d/mysqld.cnf pour Ubuntu 16) :
#bind-address = 127.0.0.1
Redémarrez MySQL using :
service mysql restart
Par défaut, MySQL se lie uniquement à localhost, mais le fait de commenter cette ligne lui demande de se lier à toutes les interfaces disponibles et d'accepter les connexions de tous les hôtes.
Pour vérifier la liaison , exécutez en tant que root :
netstat -tupan | grep mysql
Cela affichera les adresses et les ports sur lesquels MySQL écoute. Assurez-vous qu'il inclut une ligne avec « 0.0.0.0:3306 » ou « [::]:3306 », indiquant que MySQL écoute sur toutes les adresses IPv4 et IPv6 (ou « * » si elle est commentée).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!