विंडोज़ में कमांड लाइन से mysql डेटा डायरेक्टरी कैसे खोजें


186

लिनक्स में मुझे कमांड के साथ mysql इंस्टॉलेशन डायरेक्टरी मिल सकती है which mysql। लेकिन मुझे खिड़कियों में कोई नहीं मिला। मैंने कोशिश की echo %path%और इसने कई रास्तों के साथ-साथ mysql bin को भी रास्ता दिया।

मैं बैच प्रोग्राम में उपयोग के लिए विंडोज़ में कमांड लाइन से mysql डेटा निर्देशिका खोजना चाहता था। मैं linux कमांड लाइन से mysql डेटा डायरेक्टरी भी खोजना चाहूंगा। क्या यह संभव है? या हम ऐसा कैसे कर सकते हैं?

मेरे मामले में, mysql डेटा डायरेक्टरी इंस्टॉलेशन फ़ोल्डर पर है अर्थात ..MYSQL\mysql server 5\dataयह किसी भी ड्राइव पर इंस्टॉल किया जा सकता है। मैं इसे कमांड लाइन से वापस लाना चाहता हूं।

जवाबों:


296

आप कमांड लाइन से निम्नलिखित क्वेरी जारी कर सकते हैं:

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'

आउटपुट (लिनक्स पर):

+---------------------------+----------------------------+
| Variable_name             | Value                      |
+---------------------------+----------------------------+
| basedir                   | /usr                       |
| character_sets_dir        | /usr/share/mysql/charsets/ |
| datadir                   | /var/lib/mysql/            |
| innodb_data_home_dir      |                            |
| innodb_log_group_home_dir | ./                         |
| lc_messages_dir           | /usr/share/mysql/          |
| plugin_dir                | /usr/lib/mysql/plugin/     |
| slave_load_tmpdir         | /tmp                       |
| tmpdir                    | /tmp                       |
+---------------------------+----------------------------+

आउटपुट (macOS सिएरा पर):

+---------------------------+-----------------------------------------------------------+
| Variable_name             | Value                                                     |
+---------------------------+-----------------------------------------------------------+
| basedir                   | /usr/local/mysql-5.7.17-macos10.12-x86_64/                |
| character_sets_dir        | /usr/local/mysql-5.7.17-macos10.12-x86_64/share/charsets/ |
| datadir                   | /usr/local/mysql/data/                                    |
| innodb_data_home_dir      |                                                           |
| innodb_log_group_home_dir | ./                                                        |
| innodb_tmpdir             |                                                           |
| lc_messages_dir           | /usr/local/mysql-5.7.17-macos10.12-x86_64/share/          |
| plugin_dir                | /usr/local/mysql/lib/plugin/                              |
| slave_load_tmpdir         | /var/folders/zz/zyxvpxvq6csfxvn_n000009800002_/T/         |
| tmpdir                    | /var/folders/zz/zyxvpxvq6csfxvn_n000009800002_/T/         |
+---------------------------+-----------------------------------------------------------+

या यदि आप केवल डेटा का उपयोग करना चाहते हैं:

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"'

ये कमांड विंडोज पर भी काम करते हैं, लेकिन आपको सिंगल और डबल कोट्स को पलटना होगा

Btw, जब which mysqlलिनक्स में निष्पादित जैसा कि आपने बताया, आपको लिनक्स पर इंस्टॉलेशन डायरेक्टरी नहीं मिलेगी । आपको केवल बाइनरी पथ मिलेगा, जो /usr/binलिनक्स पर है, लेकिन आप देखते हैं कि mysql इंस्टॉलेशन फ़ाइलों को संग्रहीत करने के लिए कई फ़ोल्डरों का उपयोग कर रहा है।


अगर आपको आउटपुट के रूप में डेटादिर के मूल्य की आवश्यकता है, और केवल यही है, बिना कॉलम हेडर आदि, लेकिन आपके पास एक GNU वातावरण नहीं है (awk | grep | sed ...) तो निम्न कमांड लाइन का उपयोग करें:

mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"'

आदेश केवल mysql के आंतरिक information_schemaडेटाबेस से मूल्य का चयन करेगा और सारणीबद्ध आउटपुट और कॉलम हेडर को अक्षम करता है।

लिनक्स पर आउटपुट:

/var/lib/mysql

मैंने mysql -uroot -p -e 'SHOW VARIABLES WHERE Variable_Name = "datirir" का उपयोग किया। grep "डेटादिर" | linux में वास्तविक डेटादिर पथ को खोजने के लिए "{प्रिंट $ 2}"। खिड़कियों में केवल उस पथ को कैसे पा सकते हैं?
प्रभु

1
@ प्रभु आप इसे केवल mysqlकमांड के साथ कर सकते हैं । किसी अन्य उपकरण की आवश्यकता नहीं है। मेरे अपडेट की जाँच करें
hek2mgl

कमांड लिनक्स में ठीक निष्पादित करता है। यह विंडोज़ XP में अच्छी तरह से निष्पादित नहीं होता है। पहला कमांड त्रुटि देता है - आपके पास अपने sql सिंटैक्स में त्रुटि है जहां Variable_Name = 'dirname' है। दूसरा कमांड त्रुटि देता है - अज्ञात डेटाबेस की
जानकारी_समेह

1
विंडोज के तहत यह काम करने के लिए, बस डबल / सिंगल कोट्स को mysql -uUSER -p -e "SHOW VARIABLES WHERE Variable_Name LIKE '%dir'"
लियोनार्डो हरेरा

1
इसके लिए धन्यवाद! "SHOW VIAIABLES चल रहा है, जहाँ Variable_Name =" datadir "; मेरे phpmyadmin डेटाबेस ने मुझे dabase निर्देशिका का स्थान खोजने में मदद की।
औरघो भट्टाचार्जी

159

आप यह कोशिश कर सकते हैं-

mysql> select @@datadir;

PS- यह हर प्लेटफॉर्म पर काम करता है।


9
OS X
Gilles De Mey

10
उबंटू पर ठीक काम करता है।
जमुनीस सिप

7
Win10 पर ठीक काम करता है
हसन

3
सर्वर 2012 r2 पर काम करता है
शमौन

2
RHEL 6 पर काम करता है
एलेसेंड्रो ब्लैसेट्टी

5

यदि आप linux या windows में datadir ढूंढना चाहते हैं, तो आप निम्न कमांड कर सकते हैं

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"'

यदि आप डेटादिर खोजने के इच्छुक हैं तो आप grep और awk कमांड का उपयोग कर सकते हैं

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"' | grep 'datadir' | awk '{print $2}'

1

विंडोज पर आउटपुट:
आप बस इस कमांड का उपयोग कर सकते हैं, यह बहुत आसान है!

1. MySQL का कोई पासवर्ड नहीं:

mysql ?

2. MySQL का पासवर्ड है:

mysql -uroot -ppassword mysql ?

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें


1

आप चलकर MySQL सर्वर विकल्पों की पूरी सूची देख सकते हैं

mysqld --verbose --help

उदाहरण के लिए, लिनक्स पर डेटा निर्देशिका का मार्ग जानने के लिए , आप चला सकते हैं:

mysqld --verbose --help | grep ^datadir

उदाहरण आउटपुट:

datadir                                     /var/lib/mysql/


0

जाँच करें कि क्या Dataनिर्देशिका अंदर है "C:\ProgramData\MySQL\MySQL Server 5.7\Data"। यह वह जगह है जहाँ यह मेरे कंप्यूटर पर है। किसी को यह मददगार लग सकता है।


0

CLI इंटरफ़ेस से bellow कमांड का उपयोग करें

[root@localhost~]# mysqladmin variables -p<password> | grep datadir
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.