Exposez le serveur de base de données MySQL et MARIADB à Internet

Exposez le serveur de base de données MySQL et MARIADB à Internet
Le serveur de base de données MARIADB / MySQL s'exécute uniquement sur l'IP 127.0.0.1 ou le nom d'hôte localhost par défaut. Ainsi, il n'est pas accessible à partir d'autres ordinateurs de votre réseau local ou sur Internet. Afin de rendre MariaDB / MySQL accessible à partir d'autres ordinateurs de votre réseau local ou d'Internet, vous devez faire un peu de configuration.

Dans cet article, je vais vous montrer comment exposer le serveur de base de données MySQL et MARIADB à Internet. J'utiliserai Ubuntu 18.04 LTS pour démontrer les processus. Mais cela devrait également fonctionner dans d'autres distributions Linux. Les fichiers de configuration peuvent être dans un emplacement différent. C'est la seule différence. Alors, commençons.

Ai-je besoin d'une adresse IP publique?

Si vous souhaitez exposer MySQL ou MARIADB sur Internet, vous aurez besoin d'une adresse IP publique. Sinon, votre serveur ne peut pas être accessible depuis Internet.

Si vous souhaitez accéder à MySQL ou MARIADB à partir uniquement de votre réseau local (LAN), les procédures présentées ici devraient fonctionner. Dans ce cas, vous n'avez pas besoin d'une adresse IP publique.

Installation de MariaDB / MySQL Ubuntu:

MARIADB / MYSQL est disponible dans le référentiel officiel du package d'Ubuntu. Donc, c'est facile à installer.

Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:

$ sudo apt mise à jour

Maintenant, vous pouvez installer la base de données MySQL ou MARIADB sur Ubuntu. Ils sont tous les deux techniquement les mêmes. La seule différence est; MySQL est développé par Oracle et MariaDB est développé par la communauté. La licence de mariaDB est plus ouverte que MySQL. Mariadb est une fourche de mysql.

Vous pouvez installer MySQL sur Ubuntu avec la commande suivante:

$ sudo apt installer mysql-server mysql-client

Si vous souhaitez utiliser MARIADB au lieu de MySQL, vous pouvez l'installer sur Ubuntu avec la commande suivante:

$ sudo apt installer MariaDb-Server MariaDB-Client

Une fois que vous avez exécuté la commande requise pour installer le package de base de données souhaité, appuyez sur y Et puis appuyez sur . J'irai avec Mariadb.

MySQL / MARIADB doit être installé.

Modification de l'adresse de liaison de MySQL / MARIADB:

Maintenant, vous devez modifier l'adresse de liaison de MySQL / MARIADB.

Si vous avez choisi MySQL, alors le fichier de configuration à modifier est / etc / mysql / mysql.confli.d / mysqld.CNF

Si vous avez choisi Mariabd, alors le fichier de configuration à modifier est / etc / mysql / mariadb.confli.d / 50-serveur.CNF

Maintenant, modifiez le fichier de configuration requis (dans mon cas, le fichier de configuration MariaDB / etc / mysql / mariadb.confli.d / 50-serveur.CNF) avec la commande suivante:

$ sudo nano / etc / mysql / mariadb.confli.d / 50-serveur.CNF

Maintenant, faites défiler un peu vers le bas et trouvez la ligne comme marqué dans la capture d'écran ci-dessous.

Une fois que vous avez trouvé la ligne, commentez la ligne (en mettant un # au début de la ligne).

Maintenant, enregistrez le fichier de configuration en appuyant sur + X suivie par y Et puis appuyez sur .

Maintenant, vous devez redémarrer le service MySQL / MARIADB.

Si vous avez installé MySQL, alors exécutez la commande suivante:

$ sudo systemctl redémarrer mysql

Si vous avez installé MARIADB, exécutez la commande suivante:

$ sudo systemctl redémarrer mariadb

Création de nouveaux utilisateurs:

Maintenant, afin d'accéder à MySQL / MARIADB à distance, vous devez créer au moins un utilisateur de base de données MySQL / MARIADB avec des privilèges d'accès à distance.

Pour ce faire, connectez-vous à la console de base de données MySQL / MARIADB racine avec la commande suivante:

$ sudo mysql -u racine

NOTE: Par défaut, le serveur MySQL / MARIADB n'a pas racine Ensemble de mots de passe. Si vous utilisez un serveur MySQL / MARIADB existant, alors il peut avoir racine Ensemble de mots de passe. Dans ce cas, vous pouvez vous connecter à la console MySQL / MARIADB comme suit:

$ sudo mysql -u root -p

Vous devriez être connecté à la console MySQL / MARIADB.

Maintenant, créez un utilisateur de base de données avec la commande SQL suivante:

Créer un utilisateur 'your_username' @ 'host_ip_addr' identifié par 'your_password';

NOTE: Remplacer ton nom d'utilisateur et votre mot de passe Selon ce que vous voulez que le nom d'utilisateur et le mot de passe soient. Ici, host_ip_addr Le nom d'hôte ou l'adresse IP de l'ordinateur est-il d'où vous souhaitez vous connecter au serveur MySQL / MARIADB. Vous pouvez aussi utiliser % comme host_ip_addr Si vous souhaitez vous connecter à partir d'un ordinateur. Cela peut aussi être quelque chose comme 192.168.2.% Si vous souhaitez vous connecter à partir d'ordinateurs de la gamme IP 192.168.2.1 - 192.168.2.254.

Maintenant, accordez des privilèges aux bases de données nécessaires à l'utilisateur que vous venez de créer. Je laisserai simplement l'utilisateur utiliser toutes les bases de données.

Accorder tous les privilèges sur *.* À 'shovon' @ '%';

NOTE: *.* signifie toutes les bases de données. Vous pouvez aussi utiliser db_name.* Pour que l'utilisateur n'utilise que la base de données db_name.

Maintenant, appliquez les modifications avec la commande SQL suivante:

Privilèges de rinçage;

Maintenant, sortez de la console MariaDB / MySQL avec la commande suivante:

arrêter

Connexion au serveur MySQL / MARIADB à distance:

Afin d'accéder à distance au serveur MySQL / MARIADB, vous devez connaître l'adresse IP ou le nom d'hôte du serveur MySQL / MARIADB.

Pour trouver l'adresse IP du serveur MySQL / MARIADB, exécutez la commande suivante sur le serveur:

$ ip a

Comme vous pouvez le voir, l'adresse IP est dans mon cas 192.168.21.128. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.

Vous pouvez accéder au serveur MySQL / MARIADB à partir de tous les programmes clients MySQL / MARIADB, y compris le programme client MySQL basé sur le terminal traditionnel. Il existe de nombreux ides graphiques MySQL / MARIADB tels que Datagrip, MySQL Workbench, etc. Dans cette section, je vais me connecter au serveur MySQL / MARIADB du programme client MySQL basé sur le terminal. Le programme client MySQL / MARIADB n'est pas installé par défaut. Mais, vous pouvez les installer très facilement.

Pour installer les outils du client MySQL, exécutez la commande suivante:

$ sudo apt install mysql-client -y

Pour installer les outils du client MariaDB, exécutez la commande suivante:

$ sudo apt installer mariaDb-client -y

Remarque: vous pouvez installer le MySQL-Client ou le MariADB-Client et vous pourrez vous connecter au serveur MySQL / MARIADB de l'un de ces clients.

Maintenant, à partir de votre machine client, connectez-vous à distance au serveur MySQL / MARIADB avec la commande suivante:

$ mysql -u your_username -h host_ip_addr -p

Note: Rééquilibre ton nom d'utilisateur avec votre nom d'utilisateur MySQL / MARIADB et host_ip_addr avec le nom d'hôte ou l'adresse IP de votre serveur MySQL / MARIADB.

Maintenant, saisissez le mot de passe de votre utilisateur MySQL / MARIADB et appuyez sur .

Vous devez être connecté au serveur MySQL / MARIADB à distance comme vous pouvez le voir dans la capture d'écran ci-dessous. Je suis connecté à mon serveur mariaDB.

Je peux également exécuter des requêtes de base de données MySQL / MARIADB.

C'est donc ainsi que vous exposez les serveurs de base de données MySQL et MARIADB à Internet. Merci d'avoir lu cet article.