Chỉ cần cập nhật bài đăng này nếu ai đó bắt gặp điều này, InnoDB hiện hỗ trợ thư mục dữ liệu kể từ phiên bản 5.6. Không có liên kết tượng trưng (không được khuyến nghị) và hoạt động cho cả * nix và Windows.
Yêu cầu:
- MySQL 5.6 trở lên
- innodb_file_per_table được bật
innodb_file_per_table = 1
Tình huống 1 (tạo bảng mới):
Nó đơn giản như chỉ định các tùy chọn DỮ LIỆU HƯỚNG DẪN trong quá trình tạo bảng.
-
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
Tình huống 2 (di chuyển bảng hiện có sang đĩa riêng):
Điều này bao gồm một vài bước nữa (yêu cầu khởi động lại máy chủ MySQL) nhưng vẫn khá dễ dàng. Và nó không yêu cầu bảng phải có tùy chọn DỮ LIỆU HƯỚNG DẪN được chỉ định trong quá trình tạo bảng.
- Dừng máy chủ MySQL
- Di chuyển bảng innodb table_name .ibd tệp để tách đĩa / khối lượng bằng cách sao chép tệp / di chuyển tệp đơn giản
- Tạo tệp văn bản có phần mở rộng .isl, ví dụ: table_name .isl
- Chỉnh sửa tệp .isl và nhập đường dẫn mới đến table_name .ibd tệp mà bạn đã di chuyển.
/alternative/directory/table_name.ibd
- Đảm bảo rằng tệp .ibd gốc trong đường dẫn cũ đã bị xóa
- Khởi động máy chủ MySQL
Bây giờ các thay đổi tiếp theo đối với bảng đã di chuyển sẽ được lưu vào tệp .ibd trong đường dẫn mới.
Để tham khảo, vui lòng tham khảo tài liệu chính thức của MySQL: http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html