por lista iniciar ingresar importar entrar ejemplo desde datos crear consola como comandos mysql database linux windows command-line

lista - Cómo encontrar el directorio de datos mysql desde la línea de comandos en Windows



iniciar mysql (8)

Compruebe si el directorio de Data está en "C:/ProgramData/MySQL/MySQL Server 5.7/Data" . Aquí es donde está en mi computadora. Alguien puede encontrar esto útil.

En Linux pude encontrar el directorio de instalación de MySQL con el comando which mysql . Pero no pude encontrar ninguno en Windows. Probé echo %path% y resultó en muchas rutas junto con la ruta a mysql bin.

Quería encontrar el directorio de datos mysql desde la línea de comandos en Windows para usar en el programa por lotes. También me gustaría encontrar el directorio de datos mysql desde la línea de comandos de Linux. ¿Es posible? o ¿cómo podemos hacer eso?

En mi caso, el directorio de datos mysql está en la carpeta de instalación, es decir, ..MYSQL/mysql server 5/data . Sin embargo, podría estar instalado en cualquier unidad. Quiero que sea devuelto desde la línea de comando.


Puede emitir la siguiente consulta desde la línea de comando:

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

Salida (en 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 | +---------------------------+----------------------------+

Salida (en 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/ | +---------------------------+-----------------------------------------------------------+

O si solo quieres el uso del directorio de datos:

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

Esto funcionará en Windows también.

Por cierto, al ejecutar which mysql en Linux como dijiste, no obtendrás el directorio de instalación en Linux. Solo obtendrá la ruta binaria, que es /usr/bin en Linux, pero verá que la instalación de MySQL está utilizando varias carpetas para almacenar archivos.

Si necesita el valor de datadir como salida, y solo eso, sin encabezados de columna, etc., pero no tiene un entorno GNU (awk | grep | sed ...), utilice la siguiente línea de comando:

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

El comando seleccionará el valor solo de la base de datos information_schema interna de mysql y deshabilitará el resultado tabular y los encabezados de columna.

Salida en Linux:

/var/lib/mysql


Puede ver la lista completa de las opciones del servidor MySQL ejecutando

mysqld --verbose --help

Por ejemplo, para averiguar la ruta al directorio de datos en Linux, puede ejecutar:

mysqld --verbose --help | grep ^datadir

Ejemplo de salida:

datadir /var/lib/mysql/


Puedes intentar esto-

mysql> select @@datadir;

PS- Funciona en todas las plataformas.


Use el comando de abajo desde la interfaz CLI

[root@localhost~]# mysqladmin variables -p<password> | grep datadir


si quieres encontrar datadir en linux o windows, puedes hacer el siguiente comando

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

Si está interesado en encontrar datadir puede usar el comando grep & awk

mysql -uUSER -p -e ''SHOW VARIABLES WHERE Variable_Name = "datadir"'' | grep ''datadir'' | awk ''{print $2}''


Salida en Windows:
puedes usar este comando, ¡es muy fácil!

1. sin contraseña de MySQL:

mysql ?

2. tiene contraseña de MySQL:

mysql -uroot -ppassword mysql ?


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();