Anda dapat mengeluarkan kueri berikut dari baris perintah:
mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'
Keluaran (di Linux):
+---------------------------+----------------------------+
| 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 |
+---------------------------+----------------------------+
Keluaran (di 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/ |
+---------------------------+-----------------------------------------------------------+
Atau jika Anda hanya ingin dir data gunakan:
mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name = "datadir"'
Perintah ini juga berfungsi di Windows, tetapi Anda perlu membalikkan tanda kutip tunggal dan ganda .
Btw, saat menjalankan which mysql
di Linux seperti yang Anda katakan, Anda tidak akan mendapatkan instalasi direktori di Linux. Anda hanya akan mendapatkan jalur biner, yaitu /usr/bin
di Linux, tetapi Anda melihat instalasi mysql menggunakan beberapa folder untuk menyimpan file.
Jika Anda membutuhkan nilai datadir sebagai output, dan hanya itu, tanpa header kolom dll, tetapi Anda tidak memiliki lingkungan GNU (awk|grep|sed ...) maka gunakan baris perintah berikut:
mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"'
Perintah akan memilih nilai hanya dari information_schema
internal mysql database dan menonaktifkan output tabular dan header kolom.
Keluaran di Linux:
/var/lib/mysql