programing

창의 명령줄에서 mysql 데이터 디렉터리를 찾는 방법

copyandpastes 2022. 10. 29. 12:17
반응형

창의 명령줄에서 mysql 데이터 디렉터리를 찾는 방법

Linux 에서는 다음 명령어로 mysql 설치 디렉토리를 찾을 수 있습니다.which mysql하지만 창문에서는 아무것도 찾을 수 없었다.나는 노력했다.echo %path%그리고 mysql bin에 대한 경로와 함께 많은 경로가 생성되었습니다.

배치 프로그램에서 사용하기 위해 윈도우의 명령줄에서 mysql 데이터 디렉토리를 찾고 싶었습니다.Linux 명령줄에서 mysql 데이터 디렉토리도 찾고 싶습니다.가능합니까?아니면 어떻게 할 수 있을까요?

제 경우 mysql 데이터 디렉토리는 설치 폴더에 있습니다. ..MYSQL\mysql server 5\data다만, 어느 드라이브에도 인스톨 할 수 있습니다.나는 그것을 명령줄에서 돌려받고 싶다.

명령줄에서 다음 쿼리를 실행할 수 있습니다.

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

출력(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                       |
+---------------------------+----------------------------+

출력(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/         |
+---------------------------+-----------------------------------------------------------+

또는 데이터만 사용하는 경우:

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

이러한 명령어는 Windows에서도 동작하지만, 큰따옴표와 작은따옴표를 반대로 해야 합니다.

BTW, 실행 시which mysqlLinux 에서는, 인스톨 디렉토리를 얻을 수 없습니다.바이너리 경로만 얻을 수 있습니다./usr/binmysql 설치에서는 여러 폴더를 사용하여 파일을 저장합니다.


출력으로서 datadir 값이 필요하고 컬럼헤더 등이 없는 경우 GNU 환경(awk|grep|sed...)이 없는 경우 다음 명령줄을 사용합니다.

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

명령어는 mysql의 내부에서만 값을 선택합니다.information_schemadatabase 및 테이블 형식의 출력 및 컬럼헤더를 디세블로 합니다.

Linux에서의 출력:

/var/lib/mysql

이거 드셔보세요.

mysql> select @@datadir;

PS- 모든 플랫폼에서 동작합니다.

Linux 또는 Windows에서 datadir를 찾으려면 다음 명령을 수행할 수 있습니다.

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

datadir를 찾으려면 grep & awk 명령을 사용합니다.

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

MySQL 서버 옵션의 전체 목록을 보려면

mysqld --verbose --help

예를 들어 리눅스의 데이터 디렉터리에 대한 경로를 확인하려면 다음을 실행할 수 있습니다.

mysqld --verbose --help | grep ^datadir

출력 예:

datadir                                     /var/lib/mysql/

CLI 인터페이스에서 bellow 명령어 사용

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

Windows에서의 출력:
이 명령어를 사용하면 됩니다. 매우 쉽습니다!

1. MySQL 비밀번호 없음:

mysql ?

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

다음 중 하나, 둘, 셋.Data디렉토리가 다음 위치에 있습니다."C:\ProgramData\MySQL\MySQL Server 5.7\Data"여기가 내 컴퓨터에 있는 곳이야.이게 도움이 될 수도 있어요.

언급URL : https://stackoverflow.com/questions/17968287/how-to-find-the-mysql-data-directory-from-command-line-in-windows

반응형