सुपर उपयोगकर्ता के पास इस प्रोबेल्म को हल करने के बारे में कदम निर्देश के द्वारा एक अच्छा कदम है
यहाँ एक ही काम करने पर निर्देश का एक और सेट है
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
यहां इसे रिपॉजिट किया जाता है। यदि आप सुपर उपयोगकर्ता पर जा सकते हैं तो मूल वोट करें और ऊपर जाएं।
अनुमतियों के बारे में कुछ सामान्य भ्रम के बाद मुझे एहसास हुआ कि समस्या यह नहीं थी कि मेरे पास मेरी अनुमति और रास्ते सही नहीं थे लेकिन यह कि AppArmor mysql को नए स्थान पर पढ़ने और लिखने से रोक रहा था।
यह मेरा समाधान है:
पहली बार MySQL बंद करो तो कुछ अजीब नहीं होता जब आप फ़िदा होते हैं:
$ sudo stop mysql
फिर सभी डेटाबेस निर्देशिकाओं को अपने नए घर में स्थानांतरित करें:
$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/
फ़ाइलों को स्थानांतरित न करें, वे mysql द्वारा उत्पन्न होंगे, बस फ़ोल्डर्स (जो डेटाबेस हैं) को स्थानांतरित करें।
फिर विनम्रता से AppArmor से माईस्कल को नए फ़ोल्डर का उपयोग करने की अनुमति देने के लिए कहें:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
लाइनें जोड़ें:
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
फिर mysql को बताएं कि दातादिर स्थानांतरित हो गया है:
$ sudo vim /etc/mysql/my.cnf
लाइन बदलें:
datadir=/var/lib/mysql
सेवा मेरे:
datadir=/my-new-db-dir/
ध्यान दें: अपने डेटाबेस सेटअप के आधार पर आपको innodb-data-home-dir आदि को भी बदलना पड़ सकता है।
फिर नई सेटिंग्स को पढ़ने के लिए AppArmor को पुनरारंभ करें:
$ sudo /etc/init.d/apparmor restart
और नए डेटादिर का उपयोग करके MySQL को फिर से शुरू करें:
$ sudo start mysql
उम्मीद है की यह मदद करेगा!