Autoriser l'accès à distance sur votre serveur MySQL

Vous pouvez configurer votre serveur MySQL afin qu'il soit accessible depuis un serveur distant. Cela peut être utile si vous voulez que votre serveur de base de données soit séparé de votre serveur web, ou d'autres serveurs.

grant all privileges on *.* to remoteuser@123.123.123.123 identified by “userpassword”;

1. Accorder des droits à un nom d'utilisateur

Pour ce faire, vous aurez besoin d'accorder les droits nécessaire à un utilisateur MySQL afin que celui-ci ait les droits sur la base autre part que sur le serveur hébergeant la base (localhost). Pour ce faire, tapez la commande suivante (une fois connecté à la console en SSH) : (se connecter d'abord au serveur “mysql”)

  grant all privileges on Sophie.* to Sophie@123.123.123.123 identified by "Banane2405";

Où:

  • *. désigne la ou les bases qui sont autorisées (* signifie toutes, mais vous pouvez n'en choisir qu'une seule si vous le souhaitez),
  • remoteuser est le nom de l'utilisateur MySQL à qui vous accordez l'accès à distance,
  • 123.123.123.123 est l'adresse IP du serveur distant auquel vous donnez l'accès (ceci peut être replacé par * pour TOUS les serveurs),
  • userpassword est le mot de passe associé à l'utilisateur MySQL en question

Une fois que c'est fait, n'oubliez pas de “flusher” les privilèges. Cette commande fait en sorte que les modifications soient immédiatement effectives, sans avoir à redémarrer le serveur :

flush privileges;


2. éditer my.cnf

Editez le fichier de configuration:

nano /etc/mysql/my.cnf

Par défaut, MySQL n'écoute que localhost. . Il faudra désactiver la ligne relative au bind-address dans le fichier de configuration mysql:

/* bind-address = 127.0.0.1 */

3. redémarrer le serveur MySQL

/etc/init.d/mysql restart

Dernière modification: le 14/09/2016 à 19:57 par Sophie S.