Warning : il ne s’agit pas de synchronisation au sens cluster du terme.
Non là on va juste prendre toute la config MySQL du serveur A et la copier vers le serveur B.
EN UNE LIGNE. 🙂
Pour cela on va utiliser une redirection de sortie vers une sorte de tunnel SSH.
La commande est à lancer sur le serveur source.
INDEX
Transfert
L’authentification SSH peut se faire par mot de passe…
mysqldump -u root -p<password_old_host> --all-databases | ssh <user>@<new_host> 'cat - | mysql -u root -p<password_new_host>'
…ou par clé (ex: instance AWS EC2)
mysqldump -u root -p<password_old_host> --all-databases | ssh -i /root/private.pem ubuntu@ec2-51-32-80-151.eu-west-1.compute.amazonaws.com 'cat - | mysql -u debian-sys-maint -p<password_dans_/etc/mysql/debian.cnf>'
Quelques remarques :
- Rebootez le deamon MySQL à la fin de l’opération :
sudo service mysql restart
- Le mot de passe MySQL root sur la nouvelle machine deviendra le même que sur l’ancienne machine
- Profitez-en pour synchroniser votre fichier
config.inc.php
Configuration
Testé sur Ubuntu 14 avec une installation via sudo apt-get install phpmyadmin
:
- Le fichier blowfish se trouve à
sudo nano /var/lib/phpmyadmin/blowfish_secret.inc.php
- Encore plus étonnant, le fichier de config se trouve à
sudo nano /var/lib/phpmyadmin/config.inc.php
et par défaut, il est vide. Ajouter un config.inc.php dans/usr/share/phpmyadmin
ne semble pas pris en compte.
Utilisation de suPHP avec une installation par paquet
Il y a antagonisme entre créer un alias de /phpmyadmin dans un autre dossier (installation par défaut) et assurer l’intégrité du docroot dans le vhost (pré-requis suPHP).
Pour ne pas être obligé de désactiver le contrôle de docroot dans /etc/suphp/suphp.conf
, il faut modifier quelque peu le fichier de config du vhost de PhpMyAdmin :
sudo nano /etc/phpmyadmin/apache.conf
<VirtualHost 172.31.24.95:80>
ServerName phpmyadmin.domaine.com ServerAdmin support@domaine.com DocumentRoot /usr/share/phpmyadmin #Alias /phpmyadmin /usr/share/phpmyadmin Ici le contenu déjà existant du fichier... </VirtualHost>
La contrepartie est que vous ne pouvez plus accéder à nimportequelsite.com/phpmyadmin qui affiche PMA.
On peut facilement le contourner en modifiant les vhosts existants ainsi, ou pour tous les vhosts en l’ajoutant dans /etc/apache2/apache2.conf
:
Redirect permanent /phpmyadmin https://phpmyadmin.domaine.com/
Voilà.