2011-05-27 47 views
4

我有大量需要導入到MySQL中的文本數據。我在MacBook上這樣做並沒有足夠的空間,所以我想將它存儲在一個外部硬盤驅動器中(我現在不太在意速度 - 這只是爲了測試)。外部硬盤驅動器上的MySQL表

什麼是做到這一點的最好方法是什麼?

  • 外部硬盤驅動器上安裝的MySQL(這是可能在Mac上?)
  • 筆記本電腦的硬盤驅動器上安裝MySQL和對外部表(如何?)

回答

3

一個簡單的黑客是創建一個符號鏈接替換當前的MySQL DAT降低指向外部磁盤的文件位置。 Google符號鏈接。

樣品的用法是在你關機的MySQL,舊的MySQL數據庫文件夾名稱更改爲別的東西,像下面

ln -s [EXTERNAL DRIVE PATH] [MYSQL DB FOLDER PATH] 

然後移動的所有以前的內容創建使用ln命令的符號鏈接mysql db文件夾到新的位置。

+1

Mac是一個unix * nix的岩石! – user658991 2011-05-27 10:11:36

+0

這是程序的一半。您需要將以下行添加到「/etc/apparmor.d/usr.sbin.mysqld"\n /external/drive/path/r, /external/drive/path/** rwk,\ n 否則你會得到:\ n 121210 8:36:18 [Warning]無法創建測試文件/external/drive/path/hostname.lower-test 121210 8:36:18 [Warning]無法創建測試文件/external/drive/path/hostname.lower-test mysqld:無法將dir更改爲'/ external/drive/path /'(Errcode:13) 121210 8:36:18 [錯誤]正在中止 – tver3305 2012-12-10 06:02:41

0

用戶user658991答案是一半。

添加軟鏈接之後,您需要將以下行添加到2行下面的/etc/apparmor.d/usr.sbin.mysqld中以添加到舊的mysql文件夾中。

/path/to/mysql/folder/on/the/external/ r 
/path/to/mysql/folder/on/the/external/ ** rwk 

如果沒有這兩條線,MySQL的無法啓動的抱怨:

Can't create test file /path/to/mysql/folder/on/the/external/hostname.lower-test 
Can't create test file /path/to/mysql/folder/on/the/external/hostname.lower-test 
mysqld: Can't change dir to '/path/to/mysql/folder/on/the/external/' (Errcode: 13) 

重新啓動AppArmor配置,以使更改生效。

sudo invoke-rc.d apparmor restart 

由此,MySQL正常啓動。

+0

這是否可以同時保持我的所有數據庫在HD上,並添加一個新的和外部HD? – awm 2013-07-25 16:56:04

+0

@aresnelupin是的,你所有的數據庫將被維護。 – tver3305 2013-09-07 12:41:58