2011-07-19 18 views
6

मैं पूरी तरह से ubuntu और MySQL के लिए नए कर रहा हूँ और मैं के माध्यम से एक नया डेटाबेस बनाया:जब मैं इसे MySQL में बनाता हूं तो मेरा डेटाबेस सहेजा जाता है?

mysql -u root -p 
create database mydb; 

अब, जो निर्देशिका में इस डेटाबेस सहेजा जाता है और जब मैं इसे बनाने के जहां यह क्या सहेजा जाता है मैं कैसे निर्दिष्ट करूँ?

उत्तर

11

अपने mysql विन्यास फाइल में (आमतौर पर /etc/mysql/my.cnf) यदि आप एक DATADIR संपत्ति है, जो स्थान जहां mysql अपने डेटा

कुछ तरह की बचत होगी है होना चाहिए:

datadir = /var/lib/mysql 

इसके बाद यह प्रत्येक डेटाबेस के लिए एक उपनिर्देशिका बनाता है जहां यह डेटाबेस सामग्री संग्रहीत करेगा (उदा:/var/lib/mysql/mydatabase)। जहां तक ​​मुझे पता है, आप डेटादीर के बाहर संग्रहीत करने के लिए एक विशेष डेटाबेस निर्दिष्ट नहीं कर सकते हैं।

+0

लिनक्स mint config फ़ाइल स्थान: /etc/mysql/mysql.conf.d/mysqld.cnf – TheKitMurkit

4

आमतौर पर यहाँ है:

/var/lib/mysql 

लेकिन वह आपके विन्यास पर निर्भर करता है।

1

आपको यह निर्दिष्ट करने की आवश्यकता नहीं है कि यह कहां से सहेजा गया है। यह mysql का उपयोग करने का मुद्दा है। यह आपके लिए सभी डेटाबेस सामान का ख्याल रखता है। यह "बस काम" करने के लिए पूर्वसंरचित आता है।

> status 

और उदाहरण के लिए::

> show variables; 
> show variables like '%dir%'; 

..और अधिक विशेष रूप से datadir बता देंगे

हालांकि mysql प्रॉम्प्ट में आप क्या हो रहा है और जहां पर गौर करने के लिए निम्न आदेश का उपयोग कर सकते हैं आप सही स्थान:

> show variables like 'datadir'; 
1

आम तौर पर यह यहां है।

/var/lib/mysql 

एक और बात, यह संभव है कि आप डेटाबेस कॉपी नहीं कर सकते की अनुमति नहीं है और बैकअप नहीं ले सकते।

  1. खुला टर्मिनल
  2. अपने डाटाबेस निर्देशिका पर जाएँ::

    अनुमति देने के लिए इस कदम का पालन करें सीडी/var/lib/mysql

  3. अंतिम, sudo chmod आर 777/var/lib/mysql

हो गया।

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

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