Présentation
Dans le déploiement traditionnel, les utilisateurs installent souvent le serveur MySQL et l'utilisent à partir du même hôte. Cependant, il est fortement recommandé de séparer le serveur MySQL et le client, le serveur MySQL doit être accessible à partir d'un hôte distant. Cette méthode aide le système à devenir plus sécurisé et augmente les performances.
Pour rendre la méthode ci-dessus possible, nous devons configurer le serveur MySQL pour autoriser la connexion à distance depuis son client.
Configurer le serveur MySQL
Tout d'abord, configurons le serveur MySQL pour qu'il écoute sur une adresse IP prédéfinie ou sur toutes les adresses IP de votre serveur.
Si le serveur MySQL est sur le même réseau que les clients, vous devez configurer le port d'écoute sur l'adresse IP privée.
D'autre part, si vous devez vous connecter au serveur MySQL via un réseau public, configurons le serveur en suivant la configuration ci-dessous :
Ouvrez le fichier de configuration :
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
Allez à la ligne qui commence par bind-address
Par défaut, la valeur de bind-address est 127.0.0.1
Si vous souhaitez configurer le serveur MySQL pour qu'il écoute sur toutes les adresses IP, configurez la valeur de bind-address =0.0.0.0
Pour que le changement prenne effet, redémarrons le service MySQL :
$ sudo systemctl restart mysql
Accorder l'accès à un utilisateur à partir d'hôtes distants
Dans cette partie, nous allons vous montrer comment autoriser l'accès à une base de données à des utilisateurs distants.
Connectez-vous au serveur MySQL :
$ sudo mysql
Ensuite,
mysql> GRANT ALL ON DATABASE-NAME.* TO [email protected] IDENTIFIED BY ‘USER-PASSWORD’;
Par exemple :
mysql> GRANT ALL ON linuxways.* TO [email protected] IDENTIFIED BY ‘mysecuredpass’;
Configurer le pare-feu
Le serveur MySQL écoute sur le port 3306. Vous devez ouvrir ce port pour autoriser le trafic depuis les hôtes distants. Vous pouvez utiliser l'une des méthodes ci-dessous :
iptables
$ sudo iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
ufw
Si vous utilisez ufw pour ouvrir le port 3306, vous pouvez simplement exécuter la commande suivante :
$ sudo ufw allow 3306/tcp
Conclusion
Vous avez déjà expliqué en détail comment autoriser les connexions à distance à un serveur MySQL.
Si vous avez des inquiétudes, veuillez me le faire savoir. Merci d'avoir lu.