GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lier le serveur MySQL à plusieurs adresses IP ?

Solution 1 :

Non, il n'y en a pas (je viens de vérifier il y a 1 heure). Vous pouvez commenter l'adresse de liaison dans my.cnf :

Remarque :"il y a 1 heure" est maintenant il y a plus de 10 ans.

#skip-networking
#bind-address                   = 127.0.0.1

Si vous ne souhaitez que 2 IP, vous devrez alors utiliser un pare-feu.

Pour MySql version 8.0.13 et supérieure , vous pouvez spécifier une liste d'adresses IP séparées par des virgules.

bind-address = 10.0.0.1,10.0.1.1,10.0.2.1

Documentation MySQL pertinente.

Solution 2 :

La liaison à 127.0.0.x ne le rendra pas disponible pour tous les appareils, il le rendra disponible localement uniquement. Si vous souhaitez le rendre disponible pour toutes les interfaces, vous devez utiliser 0.0.0.0. Si vous souhaitez y accéder depuis plusieurs interfaces, mais moins que toutes les interfaces, vous devez vous lier à 0.0.0.0 et désactiver le pare-feu des interfaces par lesquelles vous ne souhaitez pas accéder.

De plus, en tant que deuxième couche de sécurité, vous devez vous assurer que tous vos utilisateurs MySQL ont un champ hôte défini sur autre chose que % (c'est-à-dire n'importe quel hôte).

Solution 3 :

Vous ne pouvez pas vous lier à plusieurs adresses IP, mais vous pouvez vous lier à toutes les adresses IP disponibles à la place. Si oui, utilisez simplement 0.0.0.0 pour une adresse de liaison dans votre fichier de configuration MySQL (par exemple /etc/mysql/my.cnf) comme suit :

bind-address    = 0.0.0.0

Si l'adresse est 0.0.0.0, le serveur accepte les connexions TCP/IP sur toutes les interfaces IPv4 de l'hôte du serveur.

De plus si l'adresse est :: , le serveur accepte les connexions TCP/IP sur toutes les interfaces IPv4 et IPv6 de l'hôte du serveur. Utilisez cette adresse pour autoriser les connexions IPv4 et IPv6 sur toutes les interfaces de serveur.

Ou vous pouvez simplement commenter bind-address= au total, il se liera donc à toutes les adresses. Mais assurez-vous que vous n'avez pas skip-networking activé dans votre my.cnf si vous souhaitez également autoriser les connexions distantes (Lire la suite :MySQL :Autoriser les connexions distantes ET locales).

Après avoir changé l'adresse de liaison, n'oubliez pas de redémarrer votre serveur MySQL en :

sudo service mysql restart

A terme, vous pouvez envisager d'exécuter plusieurs instances de MySQL sur une seule machine (différents ports) avec une réplication Maître/Esclave. La réplication permet de copier les données d'un serveur de base de données MySQL (le maître) vers un ou plusieurs serveurs de base de données MySQL (les esclaves).

En savoir plus :

  • 5.3 Exécuter plusieurs instances MySQL sur une seule machine sur MySQL.com
  • Chapitre 17 Réplication sur MySQL.com

Solution 4 :

Non tu ne peux pas. La page vers laquelle vous créez un lien indique clairement :

L'adresse IP à laquelle se lier. Une seule adresse peut être sélectionnée. Si cette option est spécifiée plusieurs fois, la dernière adresse donnée est utilisée.

Si aucune adresse ou 0.0.0.0 n'est spécifié, le serveur écoute sur toutes les interfaces.

Solution 5 :

Comme d'autres l'ont répondu, il n'existe pas encore de moyen de se lier sélectivement à plus d'une interface.

Linux a quelques outils TCP qui le rendent possible. Dans cette configuration, vous configurez mysql pour écouter sur 127.0.0.1, puis utilisez redir pour l'exposer sur des interfaces arbitraires.

J'ai utilisé ceci pour aider un invité de boîte virtuelle à voir mysql installé sur la machine hôte.

redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &

Linux
  1. Comment installer le serveur MySQL sur Debian 9

  2. Comment installer le serveur MySQL sur Ubuntu 16.04

  3. Comment installer le serveur MySQL sur Ubuntu 17.04

  4. Comment diviser le terminal en plusieurs "vues" ?

  5. Comment autoriser la connexion à distance au serveur de base de données MySQL

Comment installer MySQL 8.0 sur Ubuntu 18.04

Comment installer MySQL 8 sur CentOS 8

Comment installer le serveur MySQL dans Ubuntu

Comment installer LAMP sur un serveur Ubuntu 15.04

Comment configurer la réplication maître-esclave MySQL sur RHEL 7 ?

Comment installer le serveur MySQL sur Ubuntu 20.04