How to find the mysql data directory from command line in windows

后端 未结 8 1297
后悔当初
后悔当初 2020-12-07 07:50

In linux I could find the mysql installation directory with the command which mysql. But I could not find any in windows. I tried echo %path% and i

相关标签:
8条回答
  • 2020-12-07 08:02

    You can try this-

    mysql> select @@datadir;
    

    PS- It works on every platform.

    0 讨论(0)
  • 2020-12-07 08:04

    Check if the Data directory is in "C:\ProgramData\MySQL\MySQL Server 5.7\Data". This is where it is on my computer. Someone might find this helpful.

    0 讨论(0)
  • 2020-12-07 08:07

    Use bellow command from CLI interface

    [root@localhost~]# mysqladmin variables -p<password> | grep datadir
    
    0 讨论(0)
  • 2020-12-07 08:12

    You can issue the following query from the command line:

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

    Output (on 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                       |
    +---------------------------+----------------------------+
    

    Output (on 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/         |
    +---------------------------+-----------------------------------------------------------+
    

    Or if you want only the data dir use:

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

    These commands work on Windows too, but you need to invert the single and double quotes.

    Btw, when executing which mysql in Linux as you told, you'll not get the installation directory on Linux. You'll only get the binary path, which is /usr/bin on Linux, but you see the mysql installation is using multiple folders to store files.


    If you need the value of datadir as output, and only that, without column headers etc, but you don't have a GNU environment (awk|grep|sed ...) then use the following command line:

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

    The command will select the value only from mysql's internal information_schema database and disables the tabular output and column headers.

    Output on Linux:

    /var/lib/mysql
    
    0 讨论(0)
  • 2020-12-07 08:13

    You can see the complete list of MySQL server options by running

    mysqld --verbose --help
    

    For example, to find out the path to the data directory on Linux, you can run:

    mysqld --verbose --help | grep ^datadir
    

    Example output:

    datadir                                     /var/lib/mysql/
    
    0 讨论(0)
  • 2020-12-07 08:16

    Output on Windows:
    you can just use this command,it is very easy!

    1. no password of MySQL:

    mysql ?
    

    2. have password of MySQL:

    mysql -uroot -ppassword mysql ?
    

    0 讨论(0)
提交回复
热议问题