MySQL डेटाबेस में सिंगल टेबल का बैकअप कैसे लें?


441

डिफ़ॉल्ट रूप से, mysqldumpएक संपूर्ण डेटाबेस का बैकअप लेता है। मुझे MySQL में सिंगल टेबल का बैकअप लेना होगा। क्या यह संभव है? मैं इसे कैसे पुनर्स्थापित करूं?

जवाबों:


838

.Sql से सिंगल टेबल को डंप और रिस्टोर करें

ढेर

mysqldump db_name table_name > table_name.sql

रिमोट डेटाबेस से डंपिंग

mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql

अधिक संदर्भ के लिए:

http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html

पुनर्स्थापित

mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql

या एक पंक्ति में

mysql -u username -p db_name < /path/to/table_name.sql


संपीड़ित (.sql.gz) प्रारूप से एकल तालिका को डंप और पुनर्स्थापित करें

साभार: जॉन मैकग्रा

ढेर

mysqldump db_name table_name | gzip > table_name.sql.gz

पुनर्स्थापित

gunzip < table_name.sql.gz | mysql -u username -p db_name


13
SQL आमतौर पर अच्छी तरह से संपीड़ित करता है - आप ऊपर gzip के माध्यम से कमांड को पाइप कर सकते हैं और परिणामस्वरूप फ़ाइल बहुत छोटी होगी: mysqldump db_name table_name | gzip > table_name.sql.gz पुनर्स्थापित करने के लिए: gunzip < table_name.sql.gz | mysql -u username -p db_name
जॉन मैकग्राथ

यदि आप कमांड लाइन पर पासवर्ड शामिल करना चाहते हैं तो क्या होगा? तो आप पहले से ही उपयोग कर रहे हैं -PPASSWORD
फ्रीडो

23

mysqldump एक tbl_name पैरामीटर ले सकता है, ताकि यह केवल दिए गए तालिकाओं का बैकअप ले।

mysqldump -u -p yourdb yourtable > c:\backups\backup.sql

15

प्रयत्न

for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do 
mysqldump -u... -p.... NameDataBase $line > $line.sql ; 
done
  • $ लाइन cotent नाम तालिका;)

1
यह एक डेटाबेस को अलग-अलग तालिका प्रश्नों में डंप करने के लिए आसान है - क्या मुझे पता है कि विकल्प वास्तव में क्या करते हैं?
xiankai

नमस्कार, -AN (- no-auto- rehash , -A | --skip-column-names, -N परिणामों में कॉलम नाम न लिखें।) -e (- execute = statement, -e statement | Execute बयान और छोड़ दिया। डिफ़ॉल्ट आउटपुट स्वरूप --batch के साथ उत्पादित की तरह है। ईधन
रॉबिन गोमेज़

12

हम किसी भी विशेष तालिका के mysql डंप को नीचे दी गई किसी भी स्थिति के साथ ले सकते हैं

mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables

यदि हम तालिका में एक विशिष्ट जहां स्थिति जोड़ना चाहते हैं तो हम निम्नलिखित कमांड का उपयोग कर सकते हैं

mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables

8

आप MYSQLWorkbench toolव्यक्तिगत रूप से या एक डंप पर तालिकाओं के समूह का उपयोग करके आसानी से चयनित तालिकाओं को डंप करने के लिए उपयोग कर सकते हैं , फिर इसे निम्नानुसार आयात करें: यू भी होस्ट जानकारी जोड़ सकते हैं यदि आप इसे अपने स्थानीय में जोड़ रहे हैं -h IP.ADDRESS.NUMBER बाद u उपयोगकर्ता नाम

mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql 

दुर्भाग्य से Mysql कार्यक्षेत्र में कुछ बचने वाले मुद्दे हैं जो अवैध डेटा को निर्यात करने के लिए नेतृत्व कर सकते हैं जो बेकार है ...
11

6

आप इस कोड का उपयोग कर सकते हैं:

यह उदाहरण गन्ने के डेटाबेस का बैकअप लेता है और गन्ने के उत्पादन में कमी करता है

# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

गन्ना। एससीएल में ड्रॉप टेबल होगा, टेबल बना सकते हैं और गन्ना डेटाबेस के सभी टेबल के लिए कमांड डालेंगे। निम्नलिखित गन्ना का एक आंशिक उत्पादन है। एसक्यूएल, खातों की डंप जानकारी दिखा रहा है_ कॉन्टैक्ट्स टेबल:

-

- टेबल के लिए टेबल संरचना 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;

--

5

आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

  1. सिंगल टेबल स्ट्रक्चर के लिए अकेले बैकअप

-

mysqldump -d <database name> <tablename> > <filename.sql>
  1. डेटा के साथ सिंगल टेबल स्ट्रक्चर के लिए

-

mysqldump <database name> <tablename> > <filename.sql>

आशा है कि यह मदद करेगा।


5

आप या तो mysqldumpकमांड लाइन से उपयोग कर सकते हैं :

mysqldump -u username -p password dbname tablename > "path where you want to dump"

आप MySQL कार्यक्षेत्र का भी उपयोग कर सकते हैं:

बाईं ओर जाएं> डेटा निर्यात> स्कीमा चुनें> तालिकाएँ चुनें और निर्यात पर क्लिक करें


बस एक छोटी सी जानकारी, -p और पासवर्ड के बीच न आना अंतरिक्ष -> -ppassword है, लेकिन इसकी असुरक्षित
अगुंग Sagita
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.