J'ai une base de données MySQL existante sur un serveur distant. Je n'ai que le privilège de connexion sql . Je n'ai pas d'accès FTP au serveur et je dois effectuer un vidage complet de la base de données. J'ai essayé mysqldump
, mais le problème est qu'il crée la sortie sur le serveur et comme je n'ai pas de protocole FTP, je ne peux pas obtenir la sortie du serveur.
Comment puis-je effectuer une sauvegarde propre et obtenir le vidage sur mon ordinateur local (bien entendu, la sauvegarde doit être restaurée sur mon ordinateur local)?
Vous pouvez spécifier le nom du serveur en tant qu'option pour mysqldump
:
mysqldump --Host servername dbname > dbname.sql
mysqldump --Host hostaddress -P portnumber -u username -ppassword dbname > dbname.sql
Le port distant de MySQL est normalement le port 3306. En voici un exemple:
mysqldump --Host 192.168.1.15 -P 3306 -u dev -pmjQ9Y mydb > mydb.sql
Vous pouvez utiliser le MySQL workbench http://www.mysql.com/products/workbench/ , qui peut effectuer une sauvegarde directement dans un dossier local via une interface conviviale
mysqldump.exe
verrouille les tables par défaut, de sorte que d'autres actions SQL ne sont pas possibles lors d'une sauvegarde. Sans verrouiller les tables, utilisez la syntaxe suivante pour sauvegarder une base de données distante complète et tout vider sur votre ordinateur local:
mysqldump -u username -p --single-transaction --quick --lock-tables=false -h ipaddress myDB > backup.sql
Changez username
en votre propre nom d'utilisateur, changez ipaddress
en adresse ip distante et myDB
en la base de données que vous souhaitez sauvegarder. Cela vous demandera votre mot de passe. Une fois fourni, le vidage commence.
Si le serveur accepte PHP, vous pouvez télécharger et essayer Adminer . Je l’aime comme substitut de PHPMyAdmin et vous pouvez créer des sauvegardes avec!
J'utilise SQLyog pour cela où nous pouvons nous connecter au serveur distant et effectuer une sauvegarde avec cet outil.