(Redirigé depuis DeL)
Retour : Page Principale > sommaire aide > sommaire aide-mémosAide-Mémo pour la migration de bases Mysql
ATTENTION (2017-08-11) - la situation peut avoir changé depuis que ces informations ont été écrites
Cas du serveur Agathis
- Se loguer en tant qu'admin : su - admin
- Se rendre dans le dossier : /home/admin/script/mysql_transfert/
- Éditer le script mysql_transfert.sh : vi mysql_transfert.sh
- Indiquer l'adresse IP du serveur distant d'où l'on veut récupérer les bases
- Indiquer le nom et le mot de passe de l'utilisateur pour la base de données locale et distante
- Créer sur le serveur local une base de données du même nom que celle qui doit être transférée
- Lancer le script : ./mysql_transfert.sh 5.5-test tb_eflore_test
- Un fichier tb_eflore_test.sql doit maintenant être présent dans le dossier : /home/admin/script/mysql_transfert/
- Une nouvelle base tb_eflore_test doit maintenant exister dans l'instance de Mysql : 5.5-test
Script de transfert de base Mysql :
#!/bin/bash # Script permettant d'importer les tables mysql # A faire sur le serveur où se trouve la nouvelle base de donnée vide # Arguments du script : # $1 : le nom de la base de données à transférer ssh root@193.54.123.169 -i /home/admin/.ssh/id_rsa "/usr/local/mysql/bin/mysqldump $1 -u root -pmot_de_passe" > $1.sql echo "Import en cours :" /usr/local/mysql/5.5-test/bin/mysql --default-character-set=utf8 $1 -u root -pmot_de_passe < $1.sql
Accéder à un table distante
Solution utilisant le moteur FEDERATED : http://dev.mysql.com/doc/refman/5.0/fr/federated-use.html- sur le serveur maître ajouter un utilisateur ayant comme adresse "Client" l'IP du serveur client
- sur le serveur client créer une table avec la même structure mais dont le engine vaut FEDERATED
- dans le champ CONNECTION indiquer les paramètres de connexion
ATTENTION ! Un trop grand nombre de SELECT sur la table FEDERATED conduit (vérifié avec un client 5.6 et un serveur 5.1) à des erreurs SQLSTATE[08S01]: Communication link failure: 1158 Got an error reading communication packets - voir l'exemple ci-dessous pour un palliatif.
Exemple de la stratégie d'accès distant entre Agathis et Sequoia