Cum de a găsi date mysql director de la linia de comandă în windows

In linux am putea găsi în directorul de instalare mysql cu comanda care mysql. Dar nu am putut găsi nici in windows. Am încercat echo %path% și a rezultat multe căi de-a lungul cu cale să mysql bin.

Am vrut să găsesc date mysql director de la linia de comandă în windows pentru utilizarea în lot program. Am dori, de asemenea, pentru a găsi date mysql director de la linia de comandă linux. Este posibil? sau cum putem face asta?

În cazul meu, date mysql director este în folderul de instalare de exemplu `..MYSQL\mysql server 5\de date ar putea fi instalat pe orice unitate cu toate acestea. Vreau să-l revenit de la linia de comandă.

Soluția

Puteți emite următoarea interogare de la linia de comandă:

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

De ieșire (pe 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                       |
+---------------------------+----------------------------+

De ieșire (pe 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/         |
+---------------------------+-----------------------------------------------------------+

Sau, dacă doriți doar datele dir utilizare:

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

Aceste comenzi funcționează pe Windows, de asemenea, dar ai nevoie pentru a inversa ghilimele simple și duble.

Btw, la executarea care mysql in Linux cum mi-ai spus tu'll nu ia instalare director de pe Linux. Te'll obține numai pe cale binar, care este /usr/bin pe Linux, dar vezi mysql instalare este folosind mai multe foldere pentru a stoca fișiere.


Dacă aveți nevoie de valoarea de datadir ca ieșire, și doar atât, fără antete de coloană etc, dar nu't au un GNU mediu (awk|grep|sed ...) apoi utilizați următoarea linie de comandă:

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

Comanda va selecta valoarea numai de la mysql's internă `information_schema de date și dezactivează tabel de ieșire și anteturile de coloană.

De ieșire de pe Linux:

/var/lib/mysql
Comentarii (10)

Puteți încerca acest lucru-

mysql> select @@datadir;

PS - functioneaza pe orice platforma.

Comentarii (6)

dacă doriți să găsiți datadir în linux sau windows, puteți face următoarea comandă

mysql -uUSER -p -e 'SHOW VARIABILE UNDE Variable_Name = "datadir"'

dacă sunteți interesat de a găsi datadir puteți utiliza grep & comanda awk

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

Ieșire pe Windows: puteți folosi doar această comandă,este foarte ușor!

1. nici parola de MySQL:

mysql ?

2. au parola MySQL:

mysql -uroot -ppassword mysql ?

Comentarii (0)

Puteți vedea lista completă de MySQL server opțiuni de funcționare

mysqld --verbose --help

De exemplu, pentru a afla calea spre directorul de date pe Linux, puteți rula:

mysqld --verbose --help | grep ^datadir

Exemplu de ieșire:

datadir                                     /var/lib/mysql/
Comentarii (0)

Utilizați comanda de mai jos de la interfață CLI

[root@localhost~]# mysqladmin variables -p | grep datadir
Comentarii (0)

Verificați dacă "Date" director este în "C:\ProgramData\MySQL\MySQL Server 5.7\de Date". Acest lucru este în cazul în care este pe calculatorul meu. Cineva ar putea găsi acest util.

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