2011-05-27 59 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

相关问题