Connectez Magento a une Base de données Mysql d’un serveur distant.

Pour une multitude de raisons, on peut a voir besoin de connecter Magento a une base de données distante.

  • si vous avez un hébergement mutualisé
  • Si votre Hébergement et trop lent
  • Pour utiliser une sauvegarde
  • Pour des test…

Il faut d’abord :

  1. Autoriser la connexion à distance MySQL du Serveur distant
  2. Avoir  copié votre Base de donnée Mysql Magento sur ce serveur
  3. Modifier le fichier de configuration Magento : local.xml

1.Autoriser la connexion à distance MySQL du Serveur distant

Ouvrir l’accès Mysql vers l’extérieur :

  • Editez le fichier : /etc/mysql/my.cnf
  • Commentez la ligne avec un # : skip-networking et Bind-address
  • Redémarrer  : Service mysql restart

J’ai fait un tutoriel ici : Explication pour Autoriser la connexion a distance MySQL


2. Avoir copié votre Base de donnée Mysql Magento sur ce serveur

j’ai fait plusieurs explication pour tranférer la base de données MySQL de Magento, selon votre cas ici :


3. Modifier le fichier de configuration Magento : local.xml

 Editer local.xml

il est nécessaire de modifier local.xml

  1. Ce Fichier ce trouve dans votre dossier magento : magento/app/etc/local.xml
  2. Il faut éditer le fichier local.xml de magento/app/etc/local.xml avec un éditeur de texte : sous linux avec Geany, sous windows avec NotePad++
  3. Pour Mettre les informations concernant votre nouvelle Base MySQL de Magento et le nouveau serveur:
  • IpDuNouveauServeur : c’est l’ip du serveur Distant Mysql
  • LoginDeLABase : Le nom de l’utilisateur de la base MySQL/Magento Distante
  • MotDePasse : Le mot de Passe de l’utilisateur de la Base distante
  • NomDelaBase : Le Nom de Base MySQL/Magento Distante
 /Magento/app/etc/local.xml 

     default_setup
            connection
                host  ![CDATA[IpDuNouveauServeur]]  /host
           username  ![CDATA[LoginDeLaBase]]  /username
            password  ![CDATA[MotDePasse]]  /password
            dbname  ![CDATA[NomDeLaBase]]  /dbname
            active 1 /active
        /connection
     /default_setup
/resources
session_save  ![CDATA[files]]  /session_save
/global
admin
    routers
        adminhtml
            args
              frontName  ![CDATA[admin]]  /frontName

Important :

Vider la cache et les Sessions :  Dans le Dossier /magento/var/cache et /magento/var/session

Si non la modification du Local.xml ne sera pas pris en compte.

Autoriser la connexion à distance MySQL sur Serveur (Plesk)

Pour des raisons évidentes de sécurité les Serveur sont parametré par defaut pour utiliser uniquement les bases de données en local : Localhost 127.0.0.1

Pour de nombreuses, on veut pouvoir accéder a la base de données Mysql à partir d’un autre serveur au Hébergement

Cela permet de séparer la base de donnée de votre Hébergement php/html, Faire des copies entre Serveurs Etc..

 

Il faut Modifier sur votre Serveur de base de donnée MsSQL deux lignes dans le fichier my.cnf

Editez le fichier : /etc/mysql/my.cnf
Commentez la ligne avec un # : skip-networking et Bind-address 

port   = 3306  (normalement c'est déjà par defaut)
#Commenter cette ligne
#skip-networking

# Commenter cette ligne
# Bind-address = 127.0.0.1
# ou facultatif : vous pouvez mettre l'adresse du serveur
Bind-adresse = 176.31.254.010  (exemple d'adresse)

Redémarrez MySQL : /etc/init.d/mysql restart , dans un terminal,  ssh

service mysql restart

Une seule adresse peut être sélectionné. Si cette option est spécifiée plusieurs fois, la dernière adresse indiquée est utilisée.

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

Source : http://kb.parallels.com/fr/1134