आप कमांड लाइन से निम्न क्वेरी जारी कर सकते हैं:
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 Sierra पर):
+---------------------------+-----------------------------------------------------------+
| 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"'
ये कमांड विंडोज पर भी काम करते हैं, लेकिन आपको सिंगल और डबल कोट्स को उल्टा करना होगा ।
बीटीडब्ल्यू, निष्पादित करते समय which mysql
Linux में जैसा आपने बताया, आपको इंस्टॉलेशन . नहीं मिलेगा लिनक्स पर निर्देशिका। आपको केवल बाइनरी पथ मिलेगा, जो है /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
. से मान का चयन करेगा डेटाबेस और सारणीबद्ध आउटपुट और कॉलम हेडर को निष्क्रिय करता है।
Linux पर आउटपुट:
/var/lib/mysql