我有大量需要导入到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