आप कमांड लाइन से निम्नलिखित क्वेरी जारी कर सकते हैं:
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