Exporter une base de données SQL sur un dédié

Discussion dans 'Administration d'un site Web' créé par Pouzy, 19 Mai 2007.

  1. Pouzy
    Pouzy WRInaute passionné
    Inscrit:
    1 Septembre 2004
    Messages:
    1 041
    J'aime reçus:
    0
    Bonjour !
    Voilà, je viens de passer sous serveur dédié infogéré, et comme je n'y connais strictement rien, je n'arrive même pas à créer un DUMP de ma base de données.
    Avant, sous mutualisé, il me suffisait de demander un dump dans un panel d'admin pour qu'il apparaisse sur ftp.
    Y a-t-il un moyen de le faire aussi sur dédié ? Un quelconque logiciel à installer ?

    Merci :)
     
  2. Mumuri
    Mumuri WRInaute passionné
    Inscrit:
    3 Novembre 2004
    Messages:
    1 410
    J'aime reçus:
    0
    pour faire simple tu te connecte sur ton compte en ssh et tu fais
    mysqldump --all-databases > all_databases.sql


    Code:
    tilitaire qui permet d'exporter une base ou un groupe de bases vers un fichier texte, pour la sauvegarde ou le transfert entre deux serveurs (pas nécessairement entre serveurs MySQL). L'export contiendra les requêtes SQL nécessaires pour créer la table et la remplir.
    
    Si vous faîtes une sauvegarde du serveur, vous devriez aussi utiliser la commande mysqlhotcopy. See Section 8.9, « mysqlhotcopy, copier les bases et tables MySQL ».
    
    Il y a plusieurs méthodes pour invoquer mysqldump :
    
    shell> mysqldump [options] db_name [tables]
    shell> mysqldump [options] --databases DB1 [DB2 DB3...]
    shell> mysqldump [options] --all-databases
    
    Si vous ne spécifiez pas de table, ou si vous utilisez l'option --databases ou --all-databases, la base de données complète sera exportée.
    
    Vous pouvez obtenir une liste des options valides pour votre version de mysqldump avec la commande mysqldump --help.
    
    Notez que si vous exécutez mysqldump sans l'option --quick ou --opt, mysqldump va charger la totalité du résultat en mémoire, avant de l'écrire. Cette option peut résoudre des problèmes de mémoire si vous exportez de grosses tables.
    
    Notez que si vous utilisez une nouvelles copie du programme mysqldump, et que vous allez faire un export qui sera lu dans une vieille version de MySQL, vous ne devriez pas utiliser les options --opt et -e.
    
    Les valeurs numériques hors des plages de validité comme -inf et inf, ainsi que NaN (not-a-number, pas un nombre) sont exportées par mysqldump comme NULL. Vous pouvez le voir dans la table suivante :
    
    mysql> CREATE TABLE t (f DOUBLE);
    mysql> INSERT INTO t VALUES(1e+111111111111111111111);
    mysql> INSERT INTO t VALUES(-1e111111111111111111111);
    mysql> SELECT f FROM t;
    +------+
    | f |
    +------+
    | inf |
    | -inf |
    +------+
    
    Pour cette table, mysqldump produit l'export suivant :
    
    --
    -- Dumping data for table `t`
    --
    
    INSERT INTO t VALUES (NULL);
    INSERT INTO t VALUES (NULL);
    
    La signification de ce comportement est que si vous voulez exporter puis restaurer une table, le nouveau contenu sera peut être différent de l'original. Notez que depuis MySQL 4.1.2 vous ne pouvez pas insérer la valeur inf dans la table, et ce comportement de mysqldump ne sera pertinent qu'avec les anciens serveurs.
    
    mysqldump supporte les options suivantes :
    
    *
    
    --help, -?
    
    Affiche le message d'aide et quitte.
    *
    
    --add-drop-table
    
    Ajoute une commande drop table avant chaque requête de création de table.
    *
    
    --add-locks
    
    Ajoute une commande LOCK TABLES avant l'export de table et une commande UNLOCK TABLE après(Pour accélérer les insertions dans MySQL). See Section 7.2.14, « Vitesse des requêtes INSERT ».
    *
    
    --all-databases, -A
    
    Exporte toutes les tables. C'est l'équivalent de l'option --databases avec toutes les bases de données sélectionnées.
    *
    
    --allow-keywords
    
    Permet la création de colonnes ayant des noms de mots réservés. Cela fonctionne en préfixant chaque nom de colonne avec le nom de la table.
    *
    
    --comments[={0|1}]
    
    Si cette option prend 0, elle supprime les informations additionnelles (comme les versions de programme, les versions d'hôte) dans les exports. L'option --skip-comments fait la même chose. Par défaut, la valeur de cette option est 1, pour conserver ces informations. Nouveau en MySQL 4.0.17.
    *
    
    --compatible=name
    
    Produit un résultat qui est compatible avec les autres bases de données, ou avec d'anciennes versions de MySQL. Les valeurs possibles de name sont mysql323, mysql40, postgresql, oracle, mssql, db2, sapdb, no_key_options, no_table_options, ou no_field_options. Pour utiliser plusieurs valeurs, séparez les par des virgules. Ces valeurs ont la même signification que les options correspondantes de configuration du mode SQL. See Section 5.2.2, « Le mode SQL du serveur ».
    
    Cette option requiert la version 4.1.0 ou plus récente. Avec les anciens serveurs, cela ne fait rien.
    *
    
    --complete-insert, -c
    
    Utilise des commandes INSERT complètes, avec les noms de colonnes.
    *
    
    -C, --compress
    
    Compresse toutes les informations entre le client et le serveur, les deux supporte la compression.
    *
    
    --create-options
    
    Inclut toutes les options spécifiques MySQL de création de table dans les commandes CREATE TABLE. Avant MySQL 4.1.2, utilisez --all.
    *
    
    --databases, -B
    
    Pour exporter plusieurs bases de données. Notez la différence d'utilisation. Dans ce cas, aucune table n'est spécifié. Tous les arguments de noms sont considérés comme des noms de base. Une ligne USE db_name; sera ajoutée dans l'export avant chaque base de données.
    *
    
    --debug[=debug_options], -# [debug_options]
    
    Active l'historique de débogage. La chaîne de format est généralement 'd:t:o,file_name'.
    *
    
    --default-character-set=charset
    
    Configure le jeu de caractères par défaut pour l'export. S'il n'est pas spécifié, mysqldump 10.3 (MySQL-4.1.2) ou plus récent va utiliser utf8. Les versions plus anciennes utiliseront latin1.
    *
    
    --delayed
    
    Les insertions se font avec la commande INSERT DELAYED.
    *
    
    --delete-master-logs
    
    Sur un maître de réplication, efface le log binaire une fois que l'opération d'export est faite. Cette option active automatiquement --first-slave. Elle a été ajoutée en MySQL 3.23.57 (pour MySQL 3.23) et MySQL 4.0.13 (pour MySQL 4.0).
    *
    
    --disable-keys, -K
    
    Pour chaque table, entoure les commandes d'INSERT avec les commandes /*!40000 ALTER TABLE tbl_name DISABLE KEYS */; et /*!40000 ALTER TABLE tbl_name ENABLE KEYS */;. Cela accélère les chargements du fichier d'export pour MySQL 4.0 car les index ne sont créés qu'après l'insertion. Cette option n'est effective que pour les tables MyISAM.
    *
    
    --extended-insert, -e
    
    Utilise la nouvelle syntaxe multi-ligne INSERT. (Cela donne des insertions plus courtes et plus efficaces).
    *
    
    --fields-terminated-by=..., --fields-enclosed-by=..., --fields-optionally-enclosed-by=..., --fields-escaped-by=..., --lines-terminated-by=...
    
    Ces options sont utilisées avec l'option -T et ont la même signification que les clauses correspondantes de la commande LOAD DATA INFILE. See Section 13.1.5, « Syntaxe de LOAD DATA INFILE ».
    *
    
    --first-slave, -x
    
    Verrouille toutes les tables de toutes les bases de données.
    *
    
    --flush-logs, -F
    
    Ecrit tout le fichier de log du serveur avant de commencer l'export. Notez que si vous utilisez cette option avec --all-databases (ou l'option -A), les logs seront vidés pour chaque base de données exportée.
    *
    
    -f, --force,
    
    Continue même si une erreur SQL survient durant l'export.
    *
    
    --host=host_name, -h host_name
    
    Exporte les données depuis le serveur MySQL vers l'hôte indiqué. L'hôte par défaut est localhost.
    *
    
    --lock-tables, -l
    
    Verrouille toutes les tables avant de commencer l'export. Les tables sont verrouillées avec READ LOCAL pour permettre des insertions concurrentes sur les tables MyISAM.
    
    Notez que lorsque vous exportes des tables de bases différentes, l'option --lock-tables va verrouiller chaque base séparément. Cette option ne vous garantira pas que vos tables seront logiquement cohérente entre les bases. Des tables de différentes bases pourraient être exportées dans des états très différents.
    *
    
    --master-data
    
    Cette option est similaire à --first-slave, mais produit aussi une commande CHANGE MASTER TO qui fait que le serveur esclave va commencer à la bonne position dans le log du maître, si vous utilisez cette exportation pour configurer initialement l'esclave.
    *
    
    --no-create-db, -n
    
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ db_name; ne sera pas ajouté dans l'export. Sinon, la ligne ci-dessus sera ajoutée, si l'une des options --databases ou --all-databases ont été activée.
    *
    
    --no-create-info, -t
    
    N'écrit pas les informations de création de table (la requête CREATE TABLE).
    *
    
    --no-data, -d
    
    N'écrit aucune ligne d'informations sur la table. C'est très pratique si vous voulez simplement exporter la structure de la table.
    *
    
    --opt
    
    Identique à --quick --add-drop-table --add-locks --extended-insert --lock-tables. Vous obtiendrez l'export le plus rapide à importer dans un serveur MySQL.
    *
    
    --password[=password], -p[password]
    
    Le mot de passe à utiliser lors de la connexion au serveur. Notez que si vous utilisez l'option courte -p, vous ne devez pas laisser d'espace entre l'option et le mot de passe. Si vous spécifiez en omettant la partie ‘=your_pass’, mysqldump vous demandera le mot de passe en ligne de commande.
    *
    
    --port=port_num, -P port_num
    
    Le port TCP/IP à utiliser avec l'hôte.
    *
    
    --protocol={TCP | SOCKET | PIPE | MEMORY}
    
    Pour spécifier le protocole de connexion à utiliser. Nouveau en MySQL 4.1.
    *
    
    --quick, -q
    
    Ne garde pas en buffer les requêtes, mais écrit immédiatement dans la sortie. Utilise mysql_use_result() pour cela.
    *
    
    --quote-names, -Q
    
    Protège les noms des tables et colonnes avec le caractère ‘`’.
    *
    
    --result-file=file, -r file
    
    Ecrit directement dans le fichier indiqué. Cette option doit être utilisé sur MSDOS, car cela évite que la nouvelle ligne ‘\n’ soient converties en ‘\n\r’ (nouvelle ligne et retour chariot).
    *
    
    --single-transaction
    
    Cette option ajoute la commande SQL BEGIN avant d'exporter les données vers le serveur. C'est généralement pratique pour les tables InnoDB et le niveau d'isolation de transaction READ_COMMITTED, car ce mode va exporter l'état de la base au moment de la commande BEGIN sans bloquer les autres applications.
    
    Lorsque vous utilisez cette option, pensez bien que seules les tables transactionnelles seront exportées dans un état cohérent, c'est à dire que les tables MyISAM ou HEAP qui seront exportées avec cette option, pourront changer d'état.
    
    L'option --single-transaction a été ajoutée en version 4.0.2. Cette option est mutuellement exclusive avec l'option --lock-tables car LOCK TABLES va valider une transaction interne précédente.
    *
    
    --socket=path, -S path
    
    Le fichier de socket à utiliser pour les connexions locale (à localhost), qui est l'hôte par défaut.
    *
    
    --skip-comments
    
    Identique à que --comments = 0.
    *
    
    --tab=path, -T path
    
    Crée un fichier table_name.sql, qui contient les commandes SQL CREATE, et un fichier table_name.txt, qui contient les données, pour chaque table. Le format du fichier .txt est celui qui est spécifié par les options --fields-xxx et --lines--xxx. Note : cette option ne fonctionne qui si mysqldump est exécuté sur la même machine que le démon mysqld, et que le nom d'utilisateur et le groupe de mysqld (normalement l'utilisateur mysql, et le groupe mysql) doivent avoir des permission pour créer et écrire un fichier dans le dossier que vous spécifiez.
    *
    
    --tables
    
    Remplace l'option --databases ou -B. Tous les arguments suivant les options sont considérés comme des noms de tables.
    *
    
    --user=user_name, -u user_name
    
    Le nom d'utilisateur MySQL lors de la connexion à un serveur distant.
    *
    
    --verbose, -v
    
    Mode détaillé. Affiche plus d'informations sur les faits et gestes du programme.
    *
    
    --version, -V
    
    Affiche la version du programme et quitte.
    *
    
    --where='where-condition', -w 'where-condition'
    
    Exporte uniquement les lignes sélectionnées. Notez que les guillemets sont obligatoires.
    
    Exemples :
    
    "--where=user='jimf'"
    "-wuserid>1"
    "-wuserid<1"
    
    *
    
    -X, --xml
    
    Exporte la base au format XML.
    
    Vous pouvez aussi configurer les variables systèmes suivantes avec la syntaxe --var_name=value :
    
    *
    
    max_allowed_packet
    
    La taille maximale du buffer pour les communications client / serveur. La valeur de cette variable peut être au maximum de 16 Mo avant MySQL 4.0, et jusqu'à 1 Go depuis MySQL 4.0. Lors de la création de commandes d'insertions multiples (avec l'option --extended-insert ou --opt), mysqldump va créer des lignes ayant une taille maximale de max_allowed_packet octets. Si vous augmentez la valeur de cette variable, assurez vous que max_allowed_packet est assez grande dans le serveur.
    *
    
    net_buffer_length
    
    La taille initiale du buffer de communication.
    
    Il est aussi possible de configurer les variables en utilisant --set-variable=var_name=value ou -O var_name=value. Mais cette syntaxe est obsolète depuis MySQL 4.0.
    
    L'usage normal de mysqldump est probablement de faire des sauvegardes de bases.
    
    mysqldump --opt database > backup-file.sql
    
    Vous pouvez importer les données dans la base MySQL avec :
    
    mysql database < backup-file.sql
    
    ou
    
    mysql -e "source /patch-to-backup/backup-file.sql" database
    
    Cependant, il est très pratique pour remplir un autre serveur MySQL avec des informations depuis une base :
    
    mysqldump --opt database | mysql ---host=remote-host -C database
    
    Il est possible d'exporter plusieurs bases de données en une seule commande :
    
    mysqldump --databases database1 [database2 ...] > my_databases.sql
    
    Si vous souhaitez exporter toutes les bases, vous pouvez utiliser :
    
    mysqldump --all-databases > all_databases.sql
     
  3. Dharius
    Dharius WRInaute impliqué
    Inscrit:
    6 Avril 2005
    Messages:
    741
    J'aime reçus:
    0
    sinon.... bbase par base c'est pas si long.

    En SSL (tu peux utiliser PUTTY) :

    >mysql --user='tonuser' --password='tonpassword' nomdelabase <
    /home/chemindufichiersurserveur/base.sql
     
  4. Ohax
    Ohax WRInaute accro
    Inscrit:
    5 Juillet 2004
    Messages:
    4 900
    J'aime reçus:
    0
    Moi je passe par webmin ;-).


    Si tu souhaite profiter d'une interface graphique c'est le pied :D.


    Ps : c'est quoi la commande pour récupérer ses bases dans un dossier ?
     
  5. Pouzy
    Pouzy WRInaute passionné
    Inscrit:
    1 Septembre 2004
    Messages:
    1 041
    J'aime reçus:
    0
    Nickel merci beaucoup !

    Dharius, ça ne fonctionne qu'en SSL ça ? Pas de SSH ?
    Bon a la rigueur je pourrais repasser sur windows pour utiliser Putty, car je débute sous Linux donc le ssh ca va, mais pas encore le ssl :D

    Merci beaucoup à vous, vais voir ce que ça donne.
     
  6. galerie-7
    galerie-7 Nouveau WRInaute
    Inscrit:
    7 Mai 2010
    Messages:
    6
    J'aime reçus:
    0
    Bonjour,
    je voudrais savoir comment faire pour importer la base du ftp vers phpmyadmin en utilisant SSH quelque soit sur panel du serveur ou par un logiciel de connecter ssh
    Mercii
     
  7. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Sur le serveur qui "reçoit" la base de données importée :
    Code:
    mysqldump -h IP_de_ton_ancien_serveur -u ton_user -pton_pass ta_base_de_données --opt | mysql -u ton_user_sur_le_nouveau_serveur -pton_pass ta_base
    Bon c'est un peu grossier, mais normalement ça devrait passer.
    J'ai un peu plus détaillé ici : admin-serv.net/blog/2009/11/21/84/mysqldump-rapide-et-efficace/
     
  8. galerie-7
    galerie-7 Nouveau WRInaute
    Inscrit:
    7 Mai 2010
    Messages:
    6
    J'aime reçus:
    0
    Le probleme c'est ou je veux savoir ou mettre le fichier .sql ? je l'ai dans l'ftp , et en ssh quand je me connecte je suis au root, je met directement la commande ou je dois etre dans le répertoireou existe le fichier ?
    Merci pour votre aide
     
  9. salva
    salva WRInaute accro
    Inscrit:
    16 Avril 2006
    Messages:
    3 425
    J'aime reçus:
    0
    Tu peux rester dans root.
    mv /home/ftp/fichier.sql /home/le-répertoire-de-destination/fichier.sql
     
  10. Pouzy
    Pouzy WRInaute passionné
    Inscrit:
    1 Septembre 2004
    Messages:
    1 041
    J'aime reçus:
    0
Chargement...
Similar Threads - Exporter base données Forum Date
Exporter et importer base de données phpbb de 30Mo ? Administration d'un site Web 17 Novembre 2007
Base MYSQL exporter Administration d'un site Web 13 Avril 2008
Besoin de conseils pour exporter un .FR Demandes d'avis et de conseils sur vos sites 14 Janvier 2020
Google Street View : Exporter des données YouTube, Google Images et Google Maps 6 Novembre 2018
Exporter infos événements GA Google Analytics 13 Février 2018
Exporter stats démographiques de FB Ads Facebook 25 Août 2017
AdSense : comment exporter la liste des URL bloquées ? AdSense 5 Février 2015
Exporter automatiquement des données GA pour l'année 2011 Google Analytics 9 Janvier 2012
Exporter son SEO en Inde Référencement Google 31 Juillet 2011
Connaissez-vous un dictionnaire gratuit facile à exporter sur le web ? Développement d'un site Web ou d'une appli mobile 27 Mars 2011
Exporter les messages d'un dossier Outlook Administration d'un site Web 15 Septembre 2010
Problème exporter carnet adresse gmail>Thunderbird Gmail, Google Talk, Blogger et Orkut 20 Avril 2010
exporter / héberger un objet (code) java/html Développement d'un site Web ou d'une appli mobile 19 Avril 2010
Exporter une liste de contacts d'un compte Gmail vers un autre compte Gmail Débuter en référencement 27 Mars 2010
Exporter son feed rss en javascript Développement d'un site Web ou d'une appli mobile 30 Octobre 2009
Exporter Marques pages Firefox vers Google Bookmarks ? Google : l'entreprise, les sites web, les services 19 Avril 2009
exporter données fichier txt vers ma bdd ? Développement d'un site Web ou d'une appli mobile 12 Juin 2008
Exporter des mots clés et des campagnes AdWords 17 Janvier 2008
exporter données google analytics Google Analytics 21 Novembre 2007
Exporter un tableau vers une feuille excel ? Développement d'un site Web ou d'une appli mobile 24 Novembre 2006