Par défaut, mysqldump
prend la sauvegarde de toute une base de données. Je dois sauvegarder une seule table dans MySQL. C'est possible? Comment puis-je le restaurer?
Dump
mysqldump db_name table_name > table_name.sql
Dumping depuis une base de données distante
mysqldump -u <db_username> -h <db_Host> -p db_name table_name > table_name.sql
Pour référence ultérieure:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Restaurer
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
ou en une ligne
mysql -u username -p db_name < /path/to/table_name.sql
Crédit: John McGrath
Dump
mysqldump db_name table_name | gzip > table_name.sql.gz
Restaurer
gunzip < table_name.sql.gz | mysql -u username -p db_name
mysqldump peut prendre un paramètre nom_de_table afin qu'il ne sauvegarde que les tables données.
mysqldump -u -p yourdb yourtable > c:\backups\backup.sql
essayer
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Nous pouvons prendre un dump mysql de n'importe quelle table avec n'importe quelle condition donnée comme ci-dessous
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Si nous voulons ajouter une condition where spécifique à la table, nous pouvons utiliser la commande suivante
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Vous pouvez facilement transférer des tables sélectionnées à l'aide de MYSQLWorkbench tool
, individuellement ou en groupe de tables en une sauvegarde, puis l'importer comme suit: vous pouvez également ajouter informations sur l'hôte si vous l'exécutez dans votre répertoire local. en ajoutant - h nom d'utilisateur IP.ADDRESS.NUMBER after-u
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Vous pouvez utiliser ce code:
Cet exemple prend une sauvegarde de la base de données sugarcrm et vide la sortie dans sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Sugarcrm.sql contiendra les commandes drop table, create table et insert pour toutes les tables de la base de données sugarcrm. Voici une sortie partielle de sugarcrm.sql, affichant les informations de vidage de la table accounts_contacts:
-
accounts_contacts
DROP TABLE IF EXISTS `accounts_contacts`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `accounts_contacts` (
`id` varchar(36) NOT NULL,
`contact_id` varchar(36) default NULL,
`account_id` varchar(36) default NULL,
`date_modified` datetime default NULL,
`deleted` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_account_contact` (`account_id`,`contact_id`),
KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
--
Vous pouvez utiliser le code ci-dessous:
-
mysqldump -d <database name> <tablename> > <filename.sql>
-
mysqldump <database name> <tablename> > <filename.sql>
J'espère que ça va aider.
Vous pouvez soit utiliser mysqldump
à partir de la ligne de commande:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
Vous pouvez également utiliser MySQL Workbench:
Allez à gauche> Exporter des données> Sélectionnez un schéma> Sélectionnez des tables et cliquez sur Exporter.