Mysql
 sql >> Base de données >  >> RDS >> Mysql

Accès MySQL à distance

Si vous avez un accès complet à votre serveur (privilèges root requis) :

Étape 1 :modifiez my.cnf (généralement situé dans /etc)

Trouvez la ligne suivante :[mysqld] et assurez-vous que la ligne skip-networking est commenté (ou supprimez la ligne) et ajoutez la ligne suivante :

bind-address=YOUR-SERVER-IP

Par exemple, si l'adresse IP de votre serveur MySQL est 66.166.170.28, le bloc entier devrait ressembler à ceci :

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......

  • adresse de liaison :adresse IP à laquelle se lier.
  • ignorer la mise en réseau :N'écoutez pas du tout les connexions TCP/IP. Toutes les interactions avec mysqld doivent se faire via des sockets Unix. Cette option est fortement recommandée pour les systèmes où seules les requêtes locales sont autorisées. Puisque vous devez autoriser la connexion à distance, cette ligne doit être supprimée de my.cnf ou mise en commentaire.

Étape 2 :Accordez l'accès à tous les hôtes

Démarrez le moniteur MySQL avec cette commande :mysql ou /usr/local/mysql/bin/mysql . Votre invite de shell devrait maintenant ressembler à ceci :mysql> . Exécutez cette commande :

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";

Où :

  • NOM D'UTILISATEUR est le nom d'utilisateur que vous utilisez lors de la connexion à l'aide de votre script php.
  • MOT DE PASSE est le mot de passe que vous utilisez lors de la connexion.

Vous devez maintenant vider les privilèges de MySQL. Exécutez cette commande :

FLUSH PRIVILEGES;

Exécutez cette commande pour quitter MySQL :

exit;

Étape 3 :redémarrez le démon mysql

/etc/init.d/mysqld restart

ou

/etc/init.d/mysql restart

en fonction de la distribution Linux que votre serveur exécute actuellement.