Nơi MySQL lưu trữ các tệp cơ sở dữ liệu

Bất cứ khi nào quá trình cài đặt cơ sở dữ liệu MySQL hoàn tất, tất cả dữ liệu và siêu dữ liệu liên quan đến cơ sở dữ liệu sẽ được lưu trữ trong một thư mục. Đây là lược đồ cơ sở dữ liệu thực tế với một số giá trị trong đó. Hãy để chúng tôi khám phá thêm về nó.  

Phần mở rộng của tệp như sau.
 

  • frm – Đây là phần mở rộng của tệp chứa lược đồ hoặc định nghĩa của bảng
  • myd – Đây là phần mở rộng của tệp chứa dữ liệu bảng MyISAM
  • myi - Đây là phần mở rộng của tệp chứa các chỉ số bảng MyISAM

Bên trong Máy chủ MySQL 5. 5/data/mysql, một số tệp là *. từ, *. MYD, và *. MYI, 
trong đó dấu hoa thị là tên bảng thực tế. Nếu sử dụng công cụ MyISAM, thư mục dữ liệu sẽ chứa tất cả các tệp trên, ngược lại trong trường hợp của InnoDB, thư mục chứa. tập tin frm.

Các tệp cơ sở dữ liệu này được sử dụng cho mục đích sao lưu để bảo mật lược đồ, dữ liệu và chỉ mục cho một số di chuyển hoặc nâng cấp cơ sở dữ liệu. Các tệp cấu hình cho MySQL cho Windows và Linux là của tôi. ini và tôi. conf tương ứng.  

Đường dẫn cho Windows.  

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

trong tôi. ini, nếu chúng ta tìm kiếm từ khóa basedir, chúng ta có thể nhận được đường dẫn cài đặt máy chủ MySQL.  

Tương tự nếu search từ khóa datadir ta có thể lấy được đường dẫn của Database root. Ngoài ra, còn có nhiều tệp khác được tạo hoặc sử dụng bởi máy chủ MySQL để thực hiện các hoạt động khác nhau. Một số trong số họ là như sau

Tất cả cơ sở dữ liệu MySQL được lưu trữ trong các thư mục tương ứng bên trong thư mục MySQL DATADIR, được chỉ định trong cấu hình. e. g. các tệp của myExampleDB sẽ được lưu trữ bên trong thư mục ‘$DATADIR/myExampleDB’

Nếu bạn muốn lấy vị trí thư mục dữ liệu của MySQL và bạn có quyền truy cập vào MySQL, bạn chỉ cần thực hiện truy vấn SQL sau

mysql> select @@datadir;
+—————-+
. @@datadir.
+—————-+
. /var/db/mysql/.
+—————-+
1 hàng trong tập hợp [0. 00 giây]

Và theo kết quả này, các tệp cơ sở dữ liệu sẽ được lưu trữ bên trong thư mục /var/db/mysql/%DB_NAME%

Nếu bạn không có kết nối với MySQL, nhưng có quyền truy cập vào máy chủ nơi MySQL đang chạy thì bạn nên kiểm tra tùy chọn datadir trong đối số quy trình

Để biết nơi MySQL lưu trữ các tệp cơ sở dữ liệu, bạn có thể sử dụng biến @@datadir. Truy vấn như sau -

mysql> select @@datadir;

Sau đây là đầu ra hiển thị đường dẫn -

+---------------------------------------------+
| @@datadir                                   |
+---------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 8.0\Data\ |
+---------------------------------------------+
1 row in set [0.00 sec]

Đây là ảnh chụp nơi MySQL lưu trữ các tệp cơ sở dữ liệu tôi. e. cùng một đường dẫn chúng tôi đã có ở trên -

Bây giờ, chúng ta hãy xác minh xem các cơ sở dữ liệu trên có hiện diện hay không với sự trợ giúp của lệnh SHOW

Truy vấn như sau -

mysql> SHOW DATABASES;

Đây là đầu ra -

+--------------------+
| Database           |
+--------------------+
| business           |
| database1          |
| databasesample     |
| education          |
| hello              |
| information_schema |
| javadatabase2      |
| javasampledatabase |
| mybusiness         |
| mydatabase         |
| mysql              |
| performance_schema |
| sample             |
| sampledatabase     |
| schemasample       |
| sys                |
| test               |
| test3              |
| universitydatabase |
+--------------------+
19 rows in set [0.12 sec]

Nhìn vào đầu ra ở trên, tất cả các cơ sở dữ liệu được khớp

Bằng cách lưu trữ các tệp phương tiện trong cơ sở dữ liệu MySQL, giúp truy xuất các tệp do người dùng tải lên hoặc trong một danh mục cụ thể dễ dàng hơn

Đối với điều này, yêu cầu lưu trữ tệp trên máy chủ và lưu tham chiếu vào cơ sở dữ liệu

Trong hướng dẫn này, tôi chỉ cho bạn cách tải và lưu trữ video vào bảng cơ sở dữ liệu MySQL bằng PHP. Ngoài ra, hãy cho biết cách bạn có thể hiển thị các video được lưu trữ trong cơ sở dữ liệu

Tải xuống

nội dung

1. Cấu trúc bảng

Tôi đang sử dụng bảng

+---------------------------------------------+
| @@datadir                                   |
+---------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 8.0\Data\ |
+---------------------------------------------+
1 row in set [0.00 sec]
4 trong ví dụ

CREATE TABLE `videos` [
  `id` int[11] NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `name` varchar[255] NOT NULL,
  `location` varchar[255] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. Cấu hình

Tạo tệp

+---------------------------------------------+
| @@datadir                                   |
+---------------------------------------------+
| C:\ProgramData\MySQL\MySQL Server 8.0\Data\ |
+---------------------------------------------+
1 row in set [0.00 sec]
5 cho cấu hình cơ sở dữ liệu

Mã hoàn thành

Chủ Đề