How to find the mysql data directory from command line in windows
在Linux中,我可以使用命令
我想在Windows的命令行中找到mysql数据目录,以便在批处理程序中使用。我还想从Linux命令行中找到mysql数据目录。有可能吗?或者我们怎么做?
在我的例子中,mysql数据目录在安装文件夹中,也就是说,
可以从命令行发出以下查询:
1 | mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE"%dir"' |
输出(在Linux上):
1 2 3 4 5 6 7 8 9 10 11 12 13 | +---------------------------+----------------------------+ | 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上):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | +---------------------------+-----------------------------------------------------------+ | 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/ | +---------------------------+-----------------------------------------------------------+ |
或者,如果只想使用data dir:
1 | mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name ="datadir"' |
这些命令也适用于Windows,但您需要反转单引号和双引号。
顺便说一句,在Linux中执行
如果您需要将datadir的值作为输出,并且只需要不带列头等的值,但是您没有GNU环境(awk grep sed…),那么使用以下命令行:
1 | mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name ="datadir"' |
该命令将只从MySQL的内部
Linux上的输出:
1 | /var/lib/mysql |
你可以试试这个-
1 |
PS-它在每个平台上工作。
如果要在Linux或Windows中找到datadir,可以执行以下命令
如果您想查找datadir,可以使用grep&awk命令
1 | mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name ="datadir"' | grep 'datadir' | awk '{print $2}' |
通过运行
1 |
例如,要查找Linux上数据目录的路径,可以运行:
1 |
实例输出:
1 | datadir /var/lib/mysql/ |
Windows上的输出:你可以使用这个命令,很简单!
1。mysql没有密码:
1 | mysql ? |
2。有mysql密码:
1 | mysql -uroot -ppassword mysql ? |
从cli界面使用以下命令
1 | [root@localhost~]# mysqladmin variables -p<password> | grep datadir |
检查
1 2 3 4 5 6 7 8 9 10 | public function variables($variable="") { return empty($variable) ? mysql_query("SHOW VARIABLES") : mysql_query("SELECT @@$variable"); } /*get datadir*/ $res = variables("datadir"); /*or get all variables*/ $res = variables(); |