Câu hỏi này hơi cũ nhưng tôi quyết định trả lời nó bằng cách nào đó vì tôi đã thực hiện một số nghiên cứu về vấn đề tương tự. Câu trả lời của tôi dựa trên hệ thống tệp linux. Về cơ bản, mySQL lưu trữ dữ liệu trong các tệp trong đĩa cứng của bạn. Nó lưu trữ các tệp trong một thư mục cụ thể có biến hệ thống "datadir". Mở mysql
bảng điều khiển và chạy lệnh sau sẽ cho bạn biết chính xác vị trí của thư mục.
mysql> SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)
Như bạn có thể thấy từ lệnh trên, "datadir" của tôi nằm trong /var/lib/mysql/
. Vị trí của "datadir" có thể khác nhau trong các hệ thống khác nhau. Thư mục chứa các thư mục và một số tệp cấu hình. Mỗi thư mục đại diện cho một cơ sở dữ liệu mysql và chứa các tệp có dữ liệu cho cơ sở dữ liệu cụ thể đó. dưới đây là ảnh chụp màn hình của thư mục "datadir" trong hệ thống của tôi.
Mỗi thư mục trong thư mục đại diện cho một cơ sở dữ liệu MySQL. Mỗi thư mục cơ sở dữ liệu chứa các tệp đại diện cho các bảng trong cơ sở dữ liệu đó. Có hai tệp cho mỗi bảng, một tệp có .frm
và phần mở rộng khác có .idb
sự mở rộng. Xem ảnh chụp màn hình bên dưới.
.frm
tệp bảng lưu trữ định dạng của bảng. Chi tiết: Định dạng Tệp MySQL .frm
.ibd
tệp lưu trữ dữ liệu của bảng. Chi tiết: InnoDB File-Per-Table Tablespaces
Đó là mọi người! Tôi hy vọng tôi đã giúp ai đó.