在我的MySQL安裝中,我有一個InnoDB數據庫,我知道它會變得非常大,因此我決定將它移動到它自己的磁盤上。我希望通過將文件移動到另一個磁盤,然後創建一個符號鏈接,但我遇到錯誤!將MySQL InnoDB數據庫移動到單獨的驅動器
這是我做了什麼:
1)在my.cnf中我已經設置
的[mysqld] innodb_file_per_table
(這工作,我在每一個.FRM的.ibd數據庫文件夾。)
2)我已經確認,如果符號鏈接都OK與SHOW VARIABLES LIKE "have_symlink";
(我知道文檔說:
符號鏈接僅完全支持 MyISAM表。對於其他存儲引擎的 表使用的文件,如果您嘗試使用符號鏈接, 可能會出現奇怪的問題。
但我需要的外鍵...)
3)我感動的數據庫文件夾並創建了一個符號鏈接。
4)而重新啓動mysql和嘗試:
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
符號鏈接(如預期)lrwxrwxrwx mysql mysql db_name -> /path-to/db_name/
數據庫文件夾的權限是drwx------ mysql mysql
所有文件的權限是-rw-rw---- mysql mysql
我使用帶有MySQL 5.1.41的Ubuntu 10.04服務器(默認爲apt)。
你們有沒有成功做到這一點?
最簡單的方法是採取mysqldump,然後刪除模式更改配置並導入它,如果你的數據庫不是很大。 – vinothkr 2010-11-15 08:08:39
我想保留系統磁盤上的其餘數據庫(對於drupal等),只將這個特定的數據移出數據目錄。對不起,如果這個問題不明確。 – Norling 2010-11-15 08:13:33
這可能更適合http://serverfault.com/ - 投票遷移它... – richsage 2010-11-15 08:52:52