2010-04-10 12 views
6

मैं अपने स्थानीय सर्वर mysql से सभी टेबल, फ़ील्ड और डेटा को अपनी होस्टिंग साइट्स mysql पर कॉपी करना चाहता हूं। क्या सभी डेटा कॉपी करने का कोई तरीका है? ,क्या MySQL डेटाबेस में सभी डेटा को कॉपी करने का कोई तरीका है? (phpmyadmin)

उत्तर

6

phpMyAdmin में पर एक नज़र डालें (यह केवल 26kb, बहुत छोटी है) सिर्फ एक डंप निर्यात टैब (export का प्रयोग करके) और फिर से आयात उस पर sql टैब का उपयोग कर अन्य सर्वर।

सुनिश्चित करें कि आप परिणामों की तुलना करें, मैंने phpMyAdmin को एक से अधिक बार आयात को खराब कर दिया है।

तुम दोनों सर्वरों के लिए खोल का उपयोग, एक

mysql -u username -p databasename < dump.sql 
लक्ष्य सर्वर पर

मेरे अनुभव में और अधिक तेजी से और भरोसेमंद विकल्प है

mysqldump -u username -p databasename > dump.sql 

का एक संयोजन और है।

+0

वाह जो आसान था। धन्यवाद! हाहा – ggfan

0

यदि आपके पास दोनों सिस्टम (या संगत डीबी फ़ाइल sytsem के साथ संस्करण) पर mysql का एक ही संस्करण है, तो आप सीधे डेटा फ़ाइलों की प्रतिलिपि बना सकते हैं। आम तौर पर फ़ाइलों को यूनिक्स सिस्टम पर/var/lib/mysql/में रखा जाता है।

+0

आपको ऐसा करने से पहले सर्वर को रोकना चाहिए, हालांकि, जहां तक ​​मुझे पता है। –

+0

हां, रोकें या निष्पादित करें "रीड लॉक के साथ फ्लश टेबल" डिस्क पर सभी डेटा फ़्लश करने और किसी भी नए लिखने को रोकने के लिए –

2

निम्नलिखित चरणों का पालन करें:

  1. mysqladmin या अपने पसंदीदा विधि का उपयोग कर लक्ष्य डेटाबेस बनाएँ। इस उदाहरण में, डीबी 2 लक्ष्य डेटाबेस है, जहां स्रोत डेटाबेस डीबी 1 की प्रतिलिपि बनाई जाएगी।

  2. एक कमांड लाइन पर निम्नलिखित बयान निष्पादित करें:

mysqldump -h [सर्वर] -u [उपयोगकर्ता] -p [पासवर्ड] DB1 | mysql -h [सर्वर] -u [उपयोगकर्ता] -p [पासवर्ड] डीबी 2

नोट: -p और [पासवर्ड]

के बीच कोई अंतराल मैं Copy/duplicate database without using mysqldump से कॉपी किया है। यह ठीक काम करता है। कृपया यह आदेश चलाते समय सुनिश्चित करें कि आप mysql के अंदर नहीं हैं।

संबंधित मुद्दे