我有大量需要導入到MySQL中的文本數據。我在MacBook上這樣做並沒有足夠的空間,所以我想將它存儲在一個外部硬盤驅動器中(我現在不太在意速度 - 這只是爲了測試)。外部硬盤驅動器上的MySQL表
什麼是做到這一點的最好方法是什麼?
- 外部硬盤驅動器上安裝的MySQL(這是可能在Mac上?)
- 筆記本電腦的硬盤驅動器上安裝MySQL和對外部表(如何?)
我有大量需要導入到MySQL中的文本數據。我在MacBook上這樣做並沒有足夠的空間,所以我想將它存儲在一個外部硬盤驅動器中(我現在不太在意速度 - 這只是爲了測試)。外部硬盤驅動器上的MySQL表
什麼是做到這一點的最好方法是什麼?
一個簡單的黑客是創建一個符號鏈接替換當前的MySQL DAT降低指向外部磁盤的文件位置。 Google符號鏈接。
樣品的用法是在你關機的MySQL,舊的MySQL數據庫文件夾名稱更改爲別的東西,像下面
ln -s [EXTERNAL DRIVE PATH] [MYSQL DB FOLDER PATH]
然後移動的所有以前的內容創建使用ln命令的符號鏈接mysql db文件夾到新的位置。
對於第二個選項,一個表空間可以做的伎倆:
http://dev.mysql.com/doc/refman/5.1/en/create-tablespace.html
用戶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正常啓動。
Mac是一個unix * nix的岩石! – user658991 2011-05-27 10:11:36
這是程序的一半。您需要將以下行添加到「/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