[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Configurer une connexion distante à la base de données MySQL

Parfois, vous pouvez héberger la base de données sur un serveur distinct au lieu d’exécuter le serveur de base de données et le serveur web sur le même ordinateur.

Adobe permet d’établir une connexion à un serveur MySQL sur un autre ordinateur. Depuis Adobe Commerce 2.4.3, vous pouvez également configurer l’application pour utiliser une base de données Aurora Amazon Web Services (AWS) sans modification de code.

Aurora est un serveur MySQL haute performance et entièrement conforme hébergé sur AWS.

Connexion à une base de données AWS Aurora

L’utilisation d’Aurora comme base de données est aussi facile que la spécification de la base de données dans la configuration de configuration standard d’Adobe Commerce, à l’aide du connecteur de base de données par défaut.

Lors de l'exécution de bin/magento setup:install, utilisez les informations Aurora dans les champs db- :

bin/magento setup:install ... --db-host='database-aurora.us-east-1.rds.amazonaws.com' --db-name='magento2' --db-user='username' --db-password='password' ...

La valeur db-host est l’URL Aurora avec le https:// et le dernier :portnumber supprimés.

Configurer une connexion à la base de données distante

NOTE
Il s’agit d’une rubrique avancée qui ne doit être utilisée que par un administrateur réseau ou un administrateur de base de données expérimenté. Vous devez avoir un accès root au système de fichiers et être en mesure de vous connecter à MySQL en tant que root.

Conditions préalables

Avant de commencer, vous devez :

Haute disponibilité

Suivez les instructions suivantes pour configurer les connexions à la base de données distante si votre serveur Web ou votre serveur de base de données est en cluster :

  • Vous devez configurer une connexion pour chaque nœud de serveur web.

  • En règle générale, vous configurez une connexion de base de données à l’équilibreur de charge de base de données. Toutefois, la mise en grappe de bases de données peut être complexe et c’est à vous de la configurer. Adobe ne formule aucune recommandation spécifique pour la mise en cluster de bases de données.

    Pour plus d’informations, voir Documentation MySQL.

Résolution des problèmes de connexion

Si vous rencontrez des problèmes lors de la connexion à l’un des hôtes, commencez par envoyer un ping à l’autre hôte pour vous assurer qu’il est accessible. Vous devrez peut-être autoriser les connexions d'un hôte à un autre en modifiant les règles de pare-feu et SELinux (si vous utilisez SELinux).

Créer la connexion distante

Pour créer une connexion distante :

  1. Sur votre serveur de base de données, ouvrez votre fichier de configuration MySQL en tant qu’utilisateur disposant de privilèges root.

    Pour le localiser, saisissez la commande suivante :

    code language-bash
    mysql --help
    

    L’emplacement ressemble à ce qui suit :

    code language-none
    Default options are read from the following files in the given order:
    /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
    
    note note
    NOTE
    Sur Ubuntu 16, le chemin est généralement /etc/mysql/mysql.conf.d/mysqld.cnf.
  2. Recherchez des bind-address dans le fichier de configuration.

    S’il existe, modifiez la valeur comme suit.

    S’il n’existe pas, ajoutez-le à la section [mysqld].

    code language-conf
    bind-address = <ip address of your web node>
    

    Voir Documentation MySQL, en particulier si vous disposez d’un serveur web en cluster.

  3. Enregistrez vos modifications dans le fichier de configuration et quittez l’éditeur de texte.

  4. Redémarrez le service MySQL :

    • CentOS : service mysqld restart

    • Ubuntu : service mysql restart

    note note
    NOTE
    Si MySQL ne démarre pas, recherchez la source du problème dans le journal système. Résolvez le problème en utilisant la documentation MySQL ou une autre source faisant autorité.

Octroi de l'accès à un utilisateur de base de données

Pour permettre à votre nœud web de se connecter au serveur de base de données, vous devez accorder à un utilisateur de la base de données de nœud web l’accès à la base de données sur le serveur distant.

Cet exemple accorde à l'utilisateur de la base de données root un accès complet à la base de données sur l'hôte distant.

Accorder l'accès à un utilisateur de base de données :

  1. Connectez-vous au serveur de base de données.

  2. Connectez-vous à la base de données MySQL en tant qu’utilisateur root.

  3. Saisissez la commande suivante :

    code language-shell
    GRANT ALL ON <local database name>.* TO <remote web node username>@<remote web node server ip address> IDENTIFIED BY '<database user password>';
    

    Par exemple,

    code language-shell
    GRANT ALL ON magento_remote.* TO dbuser@192.0.2.50 IDENTIFIED BY 'dbuserpassword';
    
    note note
    NOTE
    Si votre serveur web est en cluster, saisissez la même commande sur chaque serveur web. Vous devez utiliser le même nom d'utilisateur pour chaque serveur Web.

Vérifier l'accès à la base de données

Sur votre hôte de nœud web, saisissez la commande suivante pour vérifier que la connexion fonctionne :

mysql -u <local database username> -h <database server ip address> -p

Si le moniteur MySQL s’affiche comme suit, la base de données est prête pour Adobe Commerce :

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 213 Server version: 5.6.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Si votre serveur web est en cluster, saisissez la commande sur chaque hôte de serveur web.

Installation d’Adobe Commerce

Lors de l’installation d’Adobe Commerce, vous devez indiquer les informations suivantes :

  • L’URL de base (également appelée adresse du magasin) spécifie le nom d’hôte ou l’adresse IP du nœud web
  • L’hôte de base de données est l’adresse IP serveur de base de données distant (ou la répartition de charge si le serveur de base de données est en cluster)
  • Le nom d'utilisateur de base de données est l'utilisateur de base de données nœud web local auquel vous avez donné accès
  • Le mot de passe de la base de données est celui de l’utilisateur du nœud web local
  • Database name est le nom de la base de données sur le serveur distant
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995