MySQL은 Windows에서 데이터베이스 파일을 어디에 저장하며 파일 이름은 무엇입니까?


81

그래서 실수로 하드 드라이브를 포맷하고 Windows를 다시 설치하고 MySQL 서버에있는 중요한 데이터베이스를 백업하는 것을 잊었습니다. 지금은 일부 소프트웨어를 사용하여 파일을 복구하려고하는데 무엇을 찾아야할지 모르겠습니다.

파일이 저장되는 경로는 무엇이며 파일의 이름은 무엇입니까 (어떤 이름 지정 규칙 또는 파일 확장자를 찾아야합니까)?

내 서버가 MyISAM을 사용하고 있다고 생각하지만 100 % 확실하지는 않습니다.

조언을 주시면 감사하겠습니다!


파일 확장자입니다.sql
씨 외국인

확실하지는 않지만 포맷하기 전에 항상이 폴더를 C : \ wamp \ bin \ mysql \ mysql5.5.24 \ data 백업
Ravi

기억한다면 그냥 내 테이블을 .sql로 내보냈을 것입니다.하지만 오랫동안 데이터베이스를 사용하지 않았기 때문에 완전히 잊어 버렸습니다
Brad

1
@ Mr.Alien -하지.sql
릭 제임스

답변:


88

my.ini파일을 확인하여 데이터 폴더의 위치를 ​​확인할 수 있습니다.

일반적으로 {mysqlDirectory} / data 폴더가 있습니다.

MySQL 데이터 스토리지 :

Commands.frm
Commands.myd
Commands.myi

* .frm 파일에는 테이블 정의가 포함되어 있습니다. * .myi 파일은 MyISAM 인덱스 파일입니다. * .myd 파일에는 테이블 데이터가 포함됩니다.

편집 / 업데이트 . 여기에 질문에 표시된 관심 때문에 댓글에서도 찾을 수있는 더 많은 정보가 있습니다.

Windows 8.1에서 MySQL 데이터베이스는 기본적으로 여기에 저장됩니다. C:\ProgramData\MySQL\MySQL Server 5.6\data

C : \ ProgramData 폴더는 숨겨진 폴더이므로 Windows 탐색기 주소에 입력해야합니다. 해당 데이터 폴더에서 데이터베이스 이름은 /{database_name_folder}/{database_tables_and_files}.

예를 들어

C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm
C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd 

이 콘텐츠에 대해 @ marty-mcgee에게 감사드립니다.


12
이 (.myd)는 MyISAM 엔진 전용입니다. InnoDB의 경우 "{mysqlDirectory} /"에있는 "ibdata1"파일을 확인해야합니다.
Raheel Hasan 2013

이 데이터 / mydatabase 폴더를 다른 PC에서 내 폴더로 복사 할 수 있습니까? 어떤 이유로 SQL 가져 오기 (WAMP 사용)는 매우 느리지 만 다른 PC에서는 그렇지 않습니다. 나는 그것의 데이터 폴더에 복사 생각하고
dominicbri7

왜 mysql_dump를 사용하지 않습니까?
Udan

17
Windows 8.1에서 MySQL 데이터베이스는 (기본적으로) 여기에 저장됩니다 C:\ProgramData\MySQL\MySQL Server 5.6\data.-이 폴더 C:\ProgramData는 숨겨진 폴더이므로 Windows 탐색기 주소에 입력해야합니다. 해당 데이터 폴더에서 데이터베이스 이름은 /{database_name_folder}/{database_tables_and_files}. 예를 들어, C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.frm그리고C:\ProgramData\MySQL\MySQL Server 5.6\data\mydatabase\mytable.ibd
Marty McGee

1
위의 Marty-McGee의 의견은 InnoDB를 사용하는 사람들을위한 답변이어야합니다. 나는 그것이 코멘트에 있었기 때문에 그의 해결책을 거의 놓쳤습니다.
HPWD

38

Windows 7에서 MySQL 데이터베이스는 다음 위치에 저장됩니다.

C : \ ProgramData \ MySQL \ MySQL Server 5.6 \ data

참고 : 이것은 숨겨진 폴더입니다. 제 예는 MySQL Server 버전 5.6입니다. 버전이 다른 경우 폴더 이름을 변경하십시오.

때때로 MySQL Workbench가 스키마 삭제 (또는 데이터베이스 가져 오기)에 실패하기 때문에이 위치를 아는 것이 편리합니다. 이는 주로 어떤 이유로 워크 벤치가 이전 프로세스에서 제거 할 수없는 db 폴더에 파일이 있기 때문입니다. Windows 탐색기를 사용하여 파일을 제거하고 다시 시도 (삭제, 가져 오기)하면 문제가 해결됩니다.

도움이 되었기를 바랍니다 :)


15

루트에 기본 my-default.ini 파일이 있고 하나의 서버 구성이 있습니다.

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

그래서 그것은 나에게 경로를 말하지 않습니다.

가장 좋은 방법은 데이터베이스에 연결하고 다음 쿼리를 실행하는 것입니다.

SHOW VARIABLES WHERE Variable_Name LIKE "%dir" ;

그 결과는 다음과 같습니다.

basedir                     C:\Program Files (x86)\MySQL\MySQL Server 5.6\
character_sets_dir          C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\charsets\

datadir                     C:\ProgramData\MySQL\MySQL Server 5.6\Data\
innodb_data_home_dir    
innodb_log_group_home_dir   .\
lc_messages_dir             C:\Program Files (x86)\MySQL\MySQL Server 5.6\share\

plugin_dir                  C:\Program Files (x86)\MySQL\MySQL Server 5.6\lib\plugin\

slave_load_tmpdir           C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp
tmpdir                      C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp

데이터베이스에 대해 구성된 모든 매개 변수를 보려면 다음을 실행하십시오.

SHOW VARIABLES;

storage_engine 변수는 InnoDb 또는 MyISAM을 사용하고 있는지 알려줍니다.


아니요, 기본값을 알려줍니다. SHOW CREATE TABLE특정 테이블을 확인 하기 위해 사용해야 합니다. 그리고 다른 테이블은 다른 엔진을 사용할 수 있습니다.
Rick James

6

Windows 7 : c : \ users \ all users \ MySql \ MySql Server xx \ Data \

여기서 xx는 컴퓨터에 설치된 SQL Server의 버전 번호입니다.

피델


4

로컬 파티션에서 * .myi 파일에 대한 Windows 검색을 수행하십시오. 기간.

내가 예상했듯이 대부분의 다른 데이터베이스 관리자와 같이 적절한 데이터 전용 폴더를 사용하는 대신 프로그램 파일 폴더 내에 위치했습니다.

my.ini 파일을 검색하고, 편집기로 열고, 경로 문자열을 조회하고, 구성 파일 (!)을 변경하지 않았는지 확인한 다음 두 번째 검색을 수행하는 이유는 무엇입니까? 터치 타이핑을 연습하는 것 외에 추가적인 이점없이 복잡합니다.


빠르고 간단하기 때문에 이것을 선택했습니다.
Mousa Dirksz


3

일반적으로 아래 지정된 폴더에 있지만 ProgramData는 일반적으로 숨겨진 폴더입니다. 표시하려면 제어판으로 이동하여 "폴더"를 검색 한 다음 고급 설정에서 숨김 파일 표시를 선택하고 적용을 클릭합니다. C : / ProgramData / MySQL / MySQL Server 5.5 / Data /


3

MYSQL 8.0 :

my.ini디스크에서 검색 하면 다음 폴더를 찾을 수 있습니다.

C : \ 경우 ProgramData \ MySQL은 \ MySQL 서버 8.0
그것은이다 ProgramData,하지Program file

데이터가 하위 폴더에 있습니다 : \Data.

각각 database은 폴더를 소유하고 각 table파일 index은 1 개 이상의 파일입니다.

다음은 샘플 데이터베이스입니다 sakila. 여기에 이미지 설명 입력


2

방금 Windows7에 MySQL 5.7을 설치했습니다. 데이터베이스 파일은 숨겨진 다음 디렉토리에 있습니다. C:\ProgramData\MySQL\MySQL Server 5.7\Data

my.ini파일은 동일한 루트에 있습니다 :C:\ProgramData\MySQL\MySQL Server 5.7


2

Xampp 서버가 설치된 Win10을 사용하는 경우 C : \ xampp \ mysql \ data 에서 데이터 폴더를 찾을 수 있습니다 .

데이터 폴더 내에서 각 데이터베이스에는 데이터베이스의 단일 테이블을 나타내는 .frm, .myi 및 .myd 파일이 포함 된 자체 폴더가 있습니다.

예를 들어 myschool라는 이름의 데이터베이스를 생성 한 경우 데이터베이스 내부에 다음과 같은 이름의 테이블이 세 개 있습니다.

  1. 양식장
  2. 일 순위
  3. 중고등 학년

그런 다음 Nursery 테이블 인 nursery.frm, nursery.myi 및 nursery.myd가 있습니다. 기본 및 보조 테이블에도 동일하게 적용됩니다. 따라서 여기에서 언급 한 파일에서 myschool 이라는 데이터베이스 폴더에 총 9 개의 파일이 있습니다 .

그런 다음 데이터베이스 폴더를 복사하여 새 mysql 설치 데이터 폴더에서 사용할 수 있습니다.

이게 도움이 되길 바란다.

친애하는.


1

MySQL에서
".myd"는 데이터베이스 자체이고
".tmd"는 임시 파일입니다.
그러나 때때로 ".sql"도 표시됩니다.

설정 및 / 또는 내보내기 방법에 따라 다릅니다.


0

1) MySQL 설치 폴더에 저장된 my.ini를 찾습니다.

예를 들면

C:\Program Files\MySQL\MySQL Server 5.1\my.ini

2) 선호하는 텍스트 편집기로 "my.ini"를 엽니 다.

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.1/"

#Path to the database root/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data

"datadir"을 찾으십시오. 이것은 MySQL이 Windows에서 데이터를 저장 한 곳입니다.


0

C : \ Program Files \ MySQL \ MySQL Workbench 6.3 CE \ sys

붙여 넣기 URL윈도우 파일에, 얻을 Tables, Procedures, Functions이 디렉토리에서

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.