Varsayılan olarak, mysqldump
tüm veritabanının yedeğini alır. MySQL'de tek bir tabloyu yedeklemem gerekiyor. Mümkün mü? Nasıl geri yüklerim?
Varsayılan olarak, mysqldump
tüm veritabanının yedeğini alır. MySQL'de tek bir tabloyu yedeklemem gerekiyor. Mümkün mü? Nasıl geri yüklerim?
Yanıtlar:
çöplük
mysqldump db_name table_name > table_name.sql
Uzak bir veritabanından boşaltma
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Daha fazla referans için:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Onarmak
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
veya bir satırda
mysql -u username -p db_name < /path/to/table_name.sql
Kredi bilgileri: John McGrath
çöplük
mysqldump db_name table_name | gzip > table_name.sql.gz
Onarmak
gunzip < table_name.sql.gz | mysql -u username -p db_name
Deneyin
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Aşağıdaki gibi belirli bir durumla herhangi bir tablonun mysql dökümü alabiliriz
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Tabloya belirli bir konum koşulu eklemek istiyorsak, aşağıdaki komutu kullanabiliriz
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Tek MYSQLWorkbench tool
tek veya bir grup tablo kullanarak seçilen tabloları dökmek için kolayca kullanabilirsiniz sonra aşağıdaki gibi içe aktarın: Ayrıca u -h IP.ADDRESS.NUMBER after-u ekleyerek yerelde çalıştırıyorsanız u ana bilgisayar bilgileri ekleyebilirsiniz. Kullanıcı adı
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Bu kodu kullanabilirsiniz:
Bu örnek, sugarcrm veritabanının bir yedeğini alır ve çıktıyı sugarcrm.sql dosyasına döker.
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Sugarcrm.sql, sugarcrm veritabanındaki tüm tablolar için bırak tablo, tablo oluştur ve insert komutu içerecektir. Aşağıda, accounts_contacts tablosunun döküm bilgilerini gösteren sugarcrm.sql dosyasının kısmi çıktısı verilmiştir:
-
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;
--
Ya kullanabilirsiniz mysqldump
komut satırından:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
MySQL Workbench'i de kullanabilirsiniz:
Sola gidin> Veri Dışa Aktar> Şema Seç> Tabloları seç ve Dışa Aktar'ı tıklayın
mysqldump db_name table_name | gzip > table_name.sql.gz
geri yüklemek için:gunzip < table_name.sql.gz | mysql -u username -p db_name