**Comment exporter des bases mysql d'un serveur distant à un serveur local ?**
A priori l'outil mydumper/myloader serait une bonne piste.
J'essaye de le paramétrer dans un fichier bash mais rencontre quelques soucis...
J'arrive à le faire fonctionner en local mais pas en distant via une connexion SSH.
J'utilise pour l'export :
USERNAME="user_mysql"
PASSWORD="mot_de_passe_user_mysql"
DATABASE_TO_DUMP="test"
ssh -p2222 USERNAME@MYSERVER.COM 'mydumper -u $USERNAME -p $PASSWORD -B $DATABASE_TO_DUMP -o "/home/sauvegarde_mysql"'
mais j'ai un souci avec mon PASSWORD qui a des caractères spéciaux. J'ai essayé de l'encadrer avec des guillemets et même de les échapper \" mais sans succès...
Pour rapatrier l'export sur le serveur local je tente :
myloader -h 127.0.0.1 -u $USERNAME -p $PASSWORD -d "ssh -p2222 SERNAME@MYSERVER.COM:/home/sauvegarde_mysql"'
mais ne marche pas...
Sinon, je tente avec fichier de configuration test.txt
mydumper --defaults-file test.txt pas d'erreur mais rien n'est fait ;)
Fichier text.txt :
[mydumper]
host = MYSERVER
port = 2222
user = USERNAME
password = PASSWORD
database = DATABASE_TO_DUMP
[myloader]
host = 127.0.0.1
user = USERNAME
password = PASSWORD
database = DATABASE_DUMPED
Il ne doit pas me manquer grand chose mais je bloque...
Fred
Export/import de bases mysql d'un serveur distant à un serveur local
Related questions
- Proxmox VM accès internet impossible
51207
19.11.2016 12:11
- Spam et IP bloquée
48537
12.12.2016 11:53
- il y a quelqu'un ?
46848
15.12.2025 17:01
- Mise en place de VM avec IP publique sur Proxmox 6 [RESOLU]
46718
30.04.2020 17:12
- SSD NVMe Soft Raid ou SSD SATA Hard Raid
46432
29.06.2021 23:29
- Port 25 bloqué pour spam à répétition
44211
28.02.2018 13:39
- Mise à jour PHP sur Release 3 ovh
42972
11.03.2017 17:43
- Connection smtp qui ne marche plus : connect error 10060
41475
12.04.2019 10:10
- Partition sur le disque de l'OS ESXI
41390
09.05.2017 14:33
- Envoi demail bloqué chez Gmail (550-5.7.26 DMARC)
40845
23.12.2019 08:40
Bonjour @PragmaTICEA
S'agit-il d'un hébergement mutualisé ?
Non non @Gaston_Phone un dédié.
Fred
Est il possible de modifier la configuration du serveur distant ?
Comme changer l'ip sur laquelle se bind mysql et la configuration du parefeu.
Si oui, bind mysql sur 0.0.0.0 sur le serveur distant.
Ouvrir le port 3306 juste pour l'ip du serveur qui doit s'y connecter.
Créer un user autoriser à se connecter à distance.
Executer la commande mysqldump avec le param --host= pour se connecter au serveur distant.
Puis importer localement le dump ainsi généré.
Si pas possible de toucher à la config mysql et/ou au parefeu, exécuter des commandes à distance via ssh.
Du genre ssh user@remote 'sudo mysqldump xx > /tmp/xx.sql'
Puis récupérer ce dump via scp scp user@remote:/tmp/xx.sql /tmp/
Importer ce dump localement via la commande habituelle.
Bonjour,
Un simple script pourrait faire l'affaire.
Depuis ton serveur local, il faut que tu puisses
- te connecter en ssh sur le serveur distant
- lancer une commande de dump ou un autre script local qui va exécuter ton dump
- rapatrier ton dump sur le serveur local via rsync par exemple
- injecter la bdd dans une base de données locale
Tu peux aussi faire un dump distant mais ca veut dire ouvrir le service mysql sur l'ip public et donc potentiellement ouvrir un accès interdit.
Mais ca peut se faire avec un firewall et un grant access dédié à ton dump.
Il faut juste que tu utilises les commandes mysqldump, mysql et rsync à priori
Bon courage
Captainadmin
Merci pour vos réponses.
Une solution est effectivement le combo mysqldump - mysql - rsync.
Après, j'ai découvert mydumper/myloader et pensais qu'il serait plus simple de l'utiliser et ne pas avoir à réinventer le fil à couper le beurre, ce type d'import/export distant de BDD devant être un grand classique de l'admin ;)
Malheureusement la doc de cet outil est un peu succincte.
L'idée est bien depuis mon serveur local :
- de me connecter en ssh sur le serveur distant et de lancer mydumper (un mysqldump optimisé)
ssh -p2222 USERNAME@MYSERVER.COM 'mydumper -u $USERNAME -p $PASSWORD -B $DATABASE_TO_DUMP -o "/home/sauvegarde_mysql"'
mais ce pb de caractères spéciaux dans le mot de passe me bloquer.
- de lancer myloader pour récupérer et injecter le dump distant.
myloader -h 127.0.0.1 -u $USERNAME -p $PASSWORD -d "ssh -p2222 SERNAME@MYSERVER.COM:/home/sauvegarde_mysql"'
Cela doit fonctionner mais je galère juste avec les commandes ssh que je dois mal employer et des variables mal échappées...
J'avais eu espoir avec le fichier de configuration mais pas mieux (cf mon premier mail)...
Je vais bien trouver quelqu'un qui utilise mydumper/myloader pour ce type de manip ;)
Je cherche....
Fred
Bonsoir @PragmaTICEA
N'y aurait-il pas un problème avec les caractères accentués et autres caractères exotiques qui ont des codages différentes en Windows, Unix, Dos etc. ?
Et changer le pass pour un alphanum classique ?