मेरी MySQL स्थापना में मेरे पास एक InnoDB डेटाबेस है जो मुझे पता है कि बहुत बड़ा हो जाएगा इसलिए मैंने इसे अपनी डिस्क पर ले जाने का निर्णय लिया है। मैं फ़ाइलों को दूसरी डिस्क पर ले जाकर ऐसा करने की उम्मीद कर रहा था और फिर एक सिम्लिंक बनाउंगा लेकिन मैं त्रुटियों में भाग लेता हूं!ड्राइव को अलग करने के लिए MySQL InnoDB डेटाबेस को स्थानांतरित करना
यह मैं क्या किया है:
1) my.cnf में मैं
[mysqld] innodb_file_per_table
(यह काम करता है मैं .frm प्रति एक .ibd में है निर्धारित किया है डेटाबेस फ़ोल्डर।)
2) के साथ मैं SHOW VARIABLES LIKE "have_symlink";
(मैं दस्तावेज है कि अगर सिमलिंक ठीक हैं जाँच कर ली है आयन कहते हैं:
सिम्लिंक पूरी तरह से MyISAM तालिकाओं के लिए पूरी तरह से समर्थित हैं। अन्य स्टोरेज इंजनों के लिए टेबल द्वारा उपयोग की जाने वाली फ़ाइलों के लिए, आपको प्रतीकात्मक लिंक का उपयोग करने का प्रयास करने में अजीब समस्याएं हो सकती हैं।
लेकिन मैं विदेशी कुंजी की आवश्यकता है ...)
3) मैं डेटाबेस फ़ोल्डर में ले जाया गया है और एक सिमलिंक बनाया।
4) को पुनः आरंभ mysql और करने की कोशिश की:
mysql> USE db_name
Database changed
mysql> SHOW TABLES;
ERROR 1018 (HY000): Can't read dir of './db_name/' (errno: 13)
mysql> exit
[email protected]# perror 13
OS error code 13: Permission denied
सिमलिंक है (के रूप में उम्मीद) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
डेटाबेस फ़ोल्डर अनुमतियाँ drwx------ mysql mysql
हैं सभी फाइल अनुमति -rw-rw---- mysql mysql
मैं उपयोग कर रहा हूँ कर रहे हैं MySQL 5.1.41 के साथ उबंटू 10.04 सर्वर (एपीटी से डिफ़ॉल्ट)।
क्या आपने इनमें से कोई भी सफलतापूर्वक किया है?
MySQLldump लेने और फिर स्कीमा परिवर्तन कॉन्फ़िगरेशन ड्रॉप करने और इसे आयात करने का सबसे आसान तरीका है, यदि आपका डीबी वास्तव में बड़ा नहीं है। – vinothkr
मैं शेष डिस्क को सिस्टम डिस्क (ड्रूपल और ऐसी चीजों के लिए) पर रखना चाहता हूं और केवल इस विशिष्ट को डेटा निर्देशिका से बाहर ले जाना चाहता हूं। क्षमा करें अगर यह सवाल से स्पष्ट नहीं था। – Norling
यह http://serverfault.com/ के लिए अधिक उपयुक्त हो सकता है - इसे माइग्रेट करने के लिए मतदान ... – richsage