7.6.1.1.在Unix上使用針對數據庫的符號鏈接
7.6.1.1. 在Unix上使用針對數據庫的符號鏈接
在Unix中,符號鏈接一個數據庫的方法是,首先在一些有空閑空間的硬盤上創建一個目錄,然后從MySQL數據目錄中創建它的一個符號鏈接。
shell> mkdir /dr1/databases/test
shell> ln -s /dr1/databases/test /path/to/datadir
MySQL不支持鏈接一個目錄到多個數據庫。用一個符號鏈接替換一個數據庫目錄,只要你不在數據庫之間制作符號鏈接。假定你有一個數據庫db1在MySQL數據目錄下,然后生成一個符號鏈接db2指向 db1:
shell> cd /path/to/datadir
shell> ln -s db1 db2
對于db1中的任何表tbl_a,在db2也出現并且還是表tbl_a。如果一個客戶更新db1.tbl_a并且另一個客戶更新db2.tbl_a,可能會出現問題。
然而,如果你真的需要這樣做,可以通過改變源文件mysys/my_symlink.c來實現,在該文件中你應查找下面的語句:
if (!(MyFlags & MY_RESOLVE_LINK) ||
(!lstat(filename,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
將該語句修改為:
if (1)
請注意,對于所有的Windows服務器,默認啟用符號鏈接支持。