मैं किसी अन्य ड्राइव पर MySQL डेटाबेस को कैसे स्थानांतरित कर सकता हूं?


34

मैं बड़ी मात्रा में सरकारी डेटा का विश्लेषण करने के लिए एक स्थानीय मशीन पर MySQL 5.5 का उपयोग कर रहा हूं। मैंने एक स्थानीय डेटाबेस बनाया है जो मेरे डिफ़ॉल्ट ड्राइव (Win7 C: ड्राइव) पर रहता है। मैं अपने E: ड्राइव पर डेटा स्टोर करना चाहता हूं, एक बड़ा eSATA बाहरी ड्राइव।

मुझे क्या कदम उठाना चाहिए?

mysql 

कठबोली आप dB को sql फ़ाइल के रूप में निर्यात करते हैं, फिर फ़ाइल को e करें सेव करें: फिर भविष्य में यदि आप dB को पुनर्स्थापित करना चाहते हैं तो आप इस फ़ाइल को आयात कर सकते हैं

@tq - यह काम नहीं करेगा। वह MySQL सर्वर डेटा निर्देशिका को बदलना चाहता है। यदि वह इसे निर्यात करता है और इसे आयात करता है, तो यह अभी भी उसी ड्राइव पर होगा!

जब आप डेटाबेस ड्राइव को बाहरी ड्राइव पर ले जाते हैं तो सावधानी का एक शब्द, आपको इसे अपने कंप्यूटर में प्लग करके रखना होगा अन्यथा आपका डेटाबेस क्रैश हो जाएगा क्योंकि यह डेटा फ़ाइलों को खोजने में सक्षम नहीं होगा
स्टीफन सेन्कोमागो मूस

जवाबों:


35
  1. शटडाउन mysql।
  2. अपनी वर्तमान डेटा निर्देशिका में सभी फ़ाइलों को नए स्थान पर ले जाएं (चरण 3 - datadirपैरामीटर में स्थान देखें )।
  3. my.iniफ़ाइल ढूँढें (यह mysql स्थापना निर्देशिका में है)। datadirनए स्थान को इंगित करने के लिए पैरामीटर मान बदलें ।
  4. Mysql शुरू करें।

Mysql (अनुमतियाँ समस्या) को प्रारंभ करने का प्रयास करते समय मुझे यह त्रुटियां दी गईं। मैं समाधान मैं पोस्ट पर बसे यहाँ है, जो मैं आशा किसी को कुछ समय बचाने में मदद करता है।
Snapfractalpop

1
@snapfractalpop प्रश्न खिड़कियों के लिए है
adam

@adam विंडो प्रश्न के शरीर में उल्लिखित है, लेकिन इसे केवल प्रश्न के रूप में खिड़कियों के रूप में टैग नहीं किया गया है, और न ही हेडलाइन में वर्णित खिड़कियों का उल्लेख किया गया है। मैंने टिप्पणियों में लिंक पोस्ट किया है क्योंकि यह संभव है कि अन्य गैर-विंडोज उपयोगकर्ता इस प्रश्न पर भी ठोकर खा सकें।
Snapfractalpop 3

मैंने पाया कि मुझे /निर्देशिका पथ के लिए निर्देशिका विभाजकों के रूप में उपयोग नहीं करना था datadir। मैं विंडोज़ 10 पर स्टीवसर का उपयोग कर रहा हूं
स्टीव

ProgramData निर्देशिका आपकी फ़ाइल एक्सप्लोरर में छिपी हो सकती है। मुझे लगा कि जब तक मैंने हिडन फाइल्स दिखाने के लिए सेटिंग नहीं बदली, उसका अस्तित्व नहीं था।
19

6

हालाँकि, आप खिड़कियों के लिए पूछ रहे हैं, यहाँ उन लोगों के लिए कुछ अच्छी दिशाएँ हैं, जो यहाँ लिनक्स / उबंटू दिशाओं की तलाश कर रहे हैं:

मान्यताओं:

  • आपके पास एक बाहरी / usb / वैकल्पिक ड्राइव पर mysql डेटा है /mountpoint/var/lib/mysql, शायद एक कंप्यूटर से जो मर गया या पुरानी स्थापना
  • आप इसे अपने नए उबंटू संस्थापन के लिए स्थानीय स्तर पर ले जाना चाहते हैं /var/lib/mysql
  • साथ बंद करो MySQL:
    sudo /etc/init.d/mysql stop
  • वर्तमान (स्वच्छ) MySQL डेटा डायरेक्टरी के साथ बैकअप बनाएँ
    sudo cp -Rp /var/lib/mysql /var/lib/mysql.backup:।
  • फिर पुराने ड्राइव से पुराने डेटा डायरेक्टरी को कॉपी करें: माउंट के लिए रास्ता
    sudo cp -Rp /mountpoint/var/lib/mysql /var/lib/mysql
    कहां mountpointहै।
  • अब MySQL को फिर से शुरू करें:
    sudo /etc/init.d/mysql start

किसी भी भाग्य के साथ, MySQL को फिर से शुरू करना चाहिए, और आपके पास अपने पुराने डेटाबेस होने चाहिए।

स्रोत mb_webguy@ubuntuforums.org


3
(!) यह काम नहीं करेगा क्योंकि विन्यास अभी भी पुराने स्थान की ओर इशारा कर रहा है
ADOConnection

4

समाधान 1:

  1. सबसे पहले, `mysqldump का उपयोग करके अपने डेटा का बैकअप लें।
  2. यदि आप आधिकारिक पैकेज से मैसकल सर्वर स्थापित करते हैं, तो आप अपने सर्वर की बिन निर्देशिका से प्रोग्राम MySQLINstanceConfig.exe चलाकर कर सकते हैं।
  3. आयात आंकड़ा

MySQLINstanceConfig.exe

दूसरा समाधान (अनुशंसित नहीं, लेकिन एक ही मशीन पर काम करता है)

  1. मैसूर सर्वर बंद करो।
  2. अपने डेटा निर्देशिका से डेटा को अपनी नई निर्देशिका में कॉपी करें
  3. My.cnf फ़ाइल खोलें (मेरे मामले में "C: \ ProgramData \ MySQL \ MySQL Server 5.5 \ my.ini")
  4. डेटादिर = "C: \ ProgramData \ MySQL \ MySQL सर्वर 5.5 \ data \" जैसी पंक्ति ढूंढें और अपने नए स्थान पर पथ बदलें
  5. अपना सर्वर शुरू करें

संस्करण 5.6 के रूप में MySQLInstanceConfig.exe अब वितरित नहीं है। यह कार्यक्षमता इंस्टॉलर द्वारा प्रतिस्थापित किया जा रहा है। http://bugs.mysql.com/bug.php?id=66306


क्या डेटा को स्थानांतरित करने के लिए एक समान लिनक्स प्रोग्राम है
रॉन पिगोट

दूसरे दृष्टिकोण के साथ डेटा को स्थानांतरित करने के बाद मैं मारबीडीबी (संस्करण 5.5) शुरू करने में सक्षम नहीं था। नए डेटादिर को सेवा उपयोगकर्ता की पहुँच प्रदान करने के बाद सेवा शुरू होती है और मैं DB से जुड़ने के लिए गठरी हूँ। हालाँकि किसी भी तालिका तक पहुँचना अभी भी विफल है [ERROR] Cannot find or open table <db>/<table> from the internal data dictionary of InnoDB though the .frm file for the table exists.:। मैं यह कैसे सुनिश्चित कर सकता हूं कि अनुमतियां सही तरीके से सेट की गई हैं?
ब्रैम

2

विंडोज के लिए, MySQL इंस्टालर 1.4.6 (2015-04-07) के रूप में , डेटा स्थान को रजिस्ट्री कुंजी में निर्दिष्ट किया जा सकता है जो my.iniफ़ाइल के स्थान को निर्दिष्ट करता है , इसलिए यदि डेटा शुरू में एक गैर-डिफ़ॉल्ट स्थान पर स्थापित किया गया था। my.iniफ़ाइल में नहीं होगा C:\ProgramData\MySQL\MySQL Server x.x\

रजिस्ट्री मानों का स्थान (कम से कम MySQL 5.6) है:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\

LocationREG_SZउस फ़ोल्डर के लिए एक बिंदु है जहाँ MySQL अनुप्रयोग फ़ाइलें स्थित हैं; डिफ़ॉल्ट रूप से:C:\Program Files\MySQL\MySQL Server x.x\

DataLocationREG_SZउस फ़ोल्डर के लिए एक बिंदु है जहां my.iniस्थित है; डिफ़ॉल्ट रूप से भी:C:\Program Files\MySQL\MySQL Server x.x\

इसके अलावा, my.ini: फ़ाइल पथ इस रजिस्ट्री कुंजी के अंतर्गत सेवा आदेश में शामिल है HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXXमें ImagePath REG_EXPAND_SZमूल्य।

इस स्ट्रिंग का डिफ़ॉल्ट मान है: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX

तो लब्बोलुआब यह है कि इस परिदृश्य में डेटा फ़ाइलों को स्थानांतरित करने के लिए आपको कुछ परिवर्धन के साथ @ITCuties द्वारा पोस्ट किए गए चरणों का पालन करना होगा।

यहाँ पूर्ण चरण हैं:

  1. शटडाउन mysql।
  2. DataLocationवर्तमान my.iniफ़ाइल स्थान को खोजने के लिए उपरोक्त रजिस्ट्री मान को देखें , और यदि आप my.iniफ़ाइल को DataLocationपथ अद्यतन करना चाहते हैं और my.iniफ़ाइल को इस नए पथ पर ले जाएँ।
  3. यदि आप my.iniफ़ाइल का स्थान बदल रहे हैं , तो आपको ऊपर सूचीबद्ध सेवा कमांड रजिस्ट्री कुंजी में पथ को अपडेट करना होगा।
  4. my.iniफ़ाइल खोलें , datadirपैरामीटर का पता लगाएं । फ़ाइलों को इस datadirपथ से उस पथ पर ले जाएं जिसमें आप डेटा को निवास करना चाहते हैं, और फिर datadirइस नए पथ के साथ पैरामीटर को भी अपडेट करें ।
  5. Mysql शुरू करें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.