Trong bản cài đặt MySQL của tôi, tôi có một cơ sở dữ liệu InnoDB mà tôi biết sẽ phát triển rất lớn nên tôi đã quyết định chuyển nó sang đĩa riêng. Tôi đã hy vọng để làm điều này bằng cách di chuyển các tập tin vào đĩa khác và sau đó tạo ra một liên kết tượng trưng nhưng tôi chạy vào lỗi!Di chuyển cơ sở dữ liệu MySQL InnoDB để tách ổ đĩa
Đây là những gì tôi đã làm:
1) Trong my.cnf tôi đã thiết
[mysqld] innodb_file_per_table
(Công trình này, tôi có một .ibd mỗi .frm trong thư mục cơ sở dữ liệu.)
2) tôi đã kiểm tra nếu liên kết tượng trưng là ok với SHOW VARIABLES LIKE "have_symlink";
(tôi biết rằng tài liệu ation nói:
Chỉ hỗ trợ đầy đủ các liên kết cho Bảng MyISAM. Đối với các tệp được sử dụng bởi bảng cho các công cụ lưu trữ khác, bạn có thể gặp sự cố lạ nếu bạn cố gắng sử dụng liên kết tượng trưng.
Nhưng tôi cần chìa khóa nước ngoài ...)
3) Tôi di chuyển các thư mục cơ sở dữ liệu và tạo ra một liên kết tượng trưng.
4) Khởi động lại mysql và thử:
mysql> USE db_name
Database changed
mysql> SHOW TABLES;
ERROR 1018 (HY000): Can't read dir of './db_name/' (errno: 13)
mysql> exit
[email protected]# perror 13
OS error code 13: Permission denied
liên kết tượng trưng là (như mong đợi) lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
điều khoản thư mục cơ sở dữ liệu là drwx------ mysql mysql
tất cả các quyền tập tin là -rw-rw---- mysql mysql
Tôi đang sử dụng Ubuntu 10.04 Server với MySQL 5.1.41 (mặc định từ apt).
Bạn đã thực hiện thành công công việc này chưa?
Cách dễ nhất là lấy mysqldump và sau đó thả cấu hình thay đổi lược đồ và nhập nó, nếu DB của bạn không thực sự lớn. – vinothkr
Tôi muốn giữ phần còn lại của các cơ sở dữ liệu trên đĩa hệ thống (đối với drupal và những thứ như vậy) và chỉ di chuyển cái cụ thể này ra khỏi thư mục dữ liệu. Xin lỗi nếu điều này không rõ ràng từ câu hỏi. – Norling
Điều này có thể phù hợp hơn với http://serverfault.com/ - bỏ phiếu để di chuyển nó ... – richsage