Aujourd'hui nous allons voir comment uploader/importer une base de données de type MySQL...
Il existe à ma connaissance quatre méthodes pour importer une base de données MySQL sur un serveur distant.
Ce système est le plus rapide et ergonomique cependant il n'est pas possible d'importer de lourdes bases de données par cette méthode
En effet envoyer vers un serveur MySQL une grosse base de données bien lourde n'est pas toujours évident. Bien sûr si le serveur est proche de vous ce n'est pas un problème mais s'il est à plusieurs centaines de kilomètres ça se complique.
Effectivement la méthode d'upload via un gestionnaire de base de données comme phpMyAdmin est possible mais hélas ce n'est pas le cas pour des grosses/très grosses bases de données. Le protocole http connait ses limites et vous ne pourrez pas uploader une base de 100 Mo située dans un fichier texte depuis phpmyadmin.
Fort heureusement Alexey Ozerov a développé un script PHP appelé “BigDump.php” permettant (en une seule étape) de fractionner l'envoi de votre fichier contenant la grosse sauvegarde de la base de données.
Alors comment ça se passe ? Déroulement...
1. Créer la base de données qui va recevoir votre sauvegarde 2. Télécharger la dernière version de BigDump ici : http://www.ozerov.de/bigdump.php 3. Décompresser le fichier télécharger. 4. Ouvrir le fichier décompressé “BigDump.php” 5. Trouver les lignes suivantes dans ce fichier php
$db_server = 'localhost'; $db_name = ''; $db_username = ''; $db_password = '';
6. Renseigner ces 4 ligne
$db_server = 'localhost'; // Généralement inutile de modifier $db_name = ''; // Nom de votre base de données (cf : premier point) $db_username = ''; // Compte utilisateur de la base de données $db_password = ''; // Mot de passe de la base de données
7. Sauvegarder et quitter 8. Uploader BigDump.php sur votre FTP 9. Uploader sur votre FTP le fichier comportant la sauvegarde 10. Exécuter BigDump.php depuis votre navigateur : http://....../BigDump.php 11. Commencer l'importation de votre sauvegarde
Remarque...
Si vous êtes certain que les informations du point 5 sont correctes et que vous rencontrez malgré tout des problèmes il est possible que cela vienne des trois lignes suivantes dans BigDump.php :
$filename = ''; // Specify the dump filename to suppress the file selection dialog **$linespersession = 3000; // Lines to be executed per one import session** $delaypersession = 0; // You can specify a sleep time in milliseconds after each session
Si vous disposez d'un accès ssh sur le serveur distant vous avez la possibilité de faire directement l'import de cette sauvegarde par ssh. Vous vous connectez donc en ssh sur votre serveur, puis vous vous dirigez dans le répertoire où vous avez placé le fichier à importer et vous tapez cette commande :
cat nom_de_la_base.sql | mysql --host=serveur_sql --user=nom_de_la_base --password=mot_de_passe nom_de_la_base
Exemple :
cat testbackup.sql | mysql --host=sql3 --user=testimport --password=RtPgDsmL testimport
Liens intéressants
http://www.sqlmanager.net/en/products/mysql/manager
Contributeurs : NightAngel| Houram