Sử dụng biến hệ thống datadir để xác định thư mục lưu trữ dữ liệu MySQL.
Cách 1: SELECT biến
mysql> SELECT @@datadir;
+---------------------------------------------+ | @@datadir | +---------------------------------------------+ | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +---------------------------------------------+
Cách 2: SHOW VARIABLES
mysql> SHOW VARIABLES WHERE Variable_name = 'datadir';
+---------------+---------------------------------------------+ | Variable_name | Value | +---------------+---------------------------------------------+ | datadir | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +---------------+---------------------------------------------+
Cấu trúc thư mục Data
- Mỗi database = một thư mục con
- Mỗi bảng = các file:
.frm(structure),.ibd(InnoDB data/index),.MYD/.MYI(MyISAM) - File hệ thống:
ibdata1(system tablespace),ib_logfile*(redo log)
Thay đổi datadir
- Dừng MySQL service
- Sao chép thư mục Data sang vị trí mới
- Sửa
my.ini:datadir="ĐƯỜNG_DẦN_MỚI" - Cập nhật quyền thư mục (user MySQL)
- Khởi động MySQL
Tìm file config my.ini
mysql> SHOW VARIABLES LIKE 'basedir';
Thường ở: C:\ProgramData\MySQL\MySQL Server 8.0\my.ini hoặc C:\Program Files\MySQL\MySQL Server 8.0\my.ini
Lưu ý
ProgramDatalà thư mục ẩn — bật "Hidden items" trong File Explorer- Không chỉnh sửa file .ibd/.frm trực tiếp — dùng SQL
- Backup: Dump SQL (
mysqldump) an toàn hơn copy file raw