Per impostazione predefinita, mysqldump
esegue il backup di un intero database. Devo eseguire il backup di una singola tabella in MySQL. È possibile? Come lo ripristino?
Per impostazione predefinita, mysqldump
esegue il backup di un intero database. Devo eseguire il backup di una singola tabella in MySQL. È possibile? Come lo ripristino?
Risposte:
cumulo di rifiuti
mysqldump db_name table_name > table_name.sql
Dumping da un database remoto
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Per ulteriore riferimento:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Ristabilire
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
o in una riga
mysql -u username -p db_name < /path/to/table_name.sql
Credito: John McGrath
cumulo di rifiuti
mysqldump db_name table_name | gzip > table_name.sql.gz
Ristabilire
gunzip < table_name.sql.gz | mysql -u username -p db_name
provare
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Possiamo prendere un dump mysql di qualsiasi tabella particolare con una data condizione come di seguito
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Se vogliamo aggiungere una specifica condizione in cui sulla tabella, possiamo usare il seguente comando
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
È possibile utilizzare facilmente per eseguire il dump delle tabelle selezionate utilizzando MYSQLWorkbench tool
, singolarmente o un gruppo di tabelle in un dump, quindi importarle come segue: inoltre è possibile aggiungere informazioni sull'host se le si esegue nel proprio locale aggiungendo -h IP.ADDRESS.NUMBER after-u nome utente
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Puoi usare questo codice:
In questo esempio viene eseguito un backup del database sugarcrm e viene scaricato l'output su sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Sugarcrm.sql conterrà la tabella di rilascio, crea la tabella e inserisce il comando per tutte le tabelle nel database sugarcrm. Di seguito è riportato un output parziale di sugarcrm.sql, che mostra le informazioni sul dump della tabella conti_contatti:
-
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;
--
Puoi usare mysqldump
dalla riga di comando:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
Puoi anche usare MySQL Workbench:
Vai a sinistra> Esportazione dati> Seleziona schema> Seleziona tabelle e fai clic su Esporta
mysqldump db_name table_name | gzip > table_name.sql.gz
ripristinare:gunzip < table_name.sql.gz | mysql -u username -p db_name