Standardmäßig wird mysqldump
die Sicherung einer gesamten Datenbank durchgeführt. Ich muss eine einzelne Tabelle in MySQL sichern. Ist es möglich? Wie stelle ich es wieder her?
Standardmäßig wird mysqldump
die Sicherung einer gesamten Datenbank durchgeführt. Ich muss eine einzelne Tabelle in MySQL sichern. Ist es möglich? Wie stelle ich es wieder her?
Antworten:
Dump
mysqldump db_name table_name > table_name.sql
Dumping aus einer entfernten Datenbank
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Zur weiteren Bezugnahme:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Wiederherstellen
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
oder in einer Zeile
mysql -u username -p db_name < /path/to/table_name.sql
Bildnachweis: John McGrath
Dump
mysqldump db_name table_name | gzip > table_name.sql.gz
Wiederherstellen
gunzip < table_name.sql.gz | mysql -u username -p db_name
Versuchen
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Wir können einen MySQL-Dump einer bestimmten Tabelle mit einer bestimmten Bedingung wie unten erstellen
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Wenn wir eine bestimmte where-Bedingung zur Tabelle hinzufügen möchten, können wir den folgenden Befehl verwenden
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Sie können ganz einfach ausgewählte Tabellen verwenden , um Dump verwenden MYSQLWorkbench tool
, einzeln oder Gruppe von Tabellen auf einer Müllhalde dann wie folgt importieren: auch kann u hinzufügen Host - Informationen , wenn u es in Ihrem lokalen ausgeführt werden , indem das Hinzufügen -h IP.ADDRESS.NUMBER After-u Nutzername
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Sie können diesen Code verwenden:
In diesem Beispiel wird eine Sicherungskopie der Sugarcrm-Datenbank erstellt und die Ausgabe an Sugarcrm.sql ausgegeben
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Die Datei suggercrm.sql enthält Drop-Tabellen, Tabellen erstellen und Befehle zum Einfügen für alle Tabellen in der Sugarcrm-Datenbank. Es folgt eine Teilausgabe von suggercrm.sql, die die Speicherauszugsinformationen der Tabelle accounts_contacts zeigt:
- -
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;
--
Sie können entweder mysqldump
über die Befehlszeile verwenden:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
Sie können auch MySQL Workbench verwenden:
Gehen Sie nach links> Datenexport> Schema auswählen> Tabellen auswählen und klicken Sie auf Exportieren
mysqldump db_name table_name | gzip > table_name.sql.gz
um wiederherzustellen:gunzip < table_name.sql.gz | mysql -u username -p db_name