Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Innodb; nhiều thư mục dữ liệu

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:

  1. MySQL 5.6 trở lên
  2. 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.

  1. 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.

  1. Dừng máy chủ MySQL
  2. 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
  3. Tạo tệp văn bản có phần mở rộng .isl, ví dụ: table_name .isl
  4. 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
  5. Đảm bảo rằng tệp .ibd gốc trong đường dẫn cũ đã bị xóa
  6. 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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn số lượng với trình tạo truy vấn thông thạo của Laravel?

  2. Tôi có một mảng các số nguyên, làm cách nào để sử dụng từng số nguyên trong truy vấn mysql (trong php)?

  3. Cách chọn ngày cũ nhất từ ​​MySQL

  4. Ví dụ về MAKETIME () - MySQL

  5. Nối bên trong 2 bảng có cùng tên cột