Par défaut, mysqldump
prend la sauvegarde d'une base de données entière. J'ai besoin de sauvegarder une seule table dans MySQL. C'est possible? Comment le restaurer?
Par défaut, mysqldump
prend la sauvegarde d'une base de données entière. J'ai besoin de sauvegarder une seule table dans MySQL. C'est possible? Comment le restaurer?
Réponses:
Déverser
mysqldump db_name table_name > table_name.sql
Dump à partir d'une base de données distante
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Pour plus d'informations:
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 seule ligne
mysql -u username -p db_name < /path/to/table_name.sql
Crédits: John McGrath
Déverser
mysqldump db_name table_name | gzip > table_name.sql.gz
Restaurer
gunzip < table_name.sql.gz | mysql -u username -p db_name
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 vidage mysql de n'importe quelle table particulière 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 sur la table, nous pouvons utiliser la commande suivante
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Vous pouvez facilement utiliser pour vider les tables sélectionnées en utilisant MYSQLWorkbench tool
, individuellement ou un groupe de tables à un vidage puis les importer comme suit: vous pouvez également ajouter des informations sur l'hôte si vous les exécutez dans votre section locale en ajoutant -h IP.ADDRESS.NUMBER après-u Nom d'utilisateur
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 sauvegarde la sortie dans sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Le fichier sugarcrm.sql contiendra une table de dépôt, une table de création et une commande d'insertion pour toutes les tables de la base de données sugarcrm. Voici une sortie partielle de sugarcrm.sql, montrant 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 cela vous aidera.
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> Exportation de données> Sélectionnez le schéma> Sélectionnez les tables et cliquez sur Exporter
mysqldump db_name table_name | gzip > table_name.sql.gz
pour restaurer:gunzip < table_name.sql.gz | mysql -u username -p db_name