外部硬盘上的MySQL表

时间:2011-05-27 10:04:46

标签: mysql database mysql-management hard-drive

我需要将大量文本数据导入MySQL。我在MacBook上做这个并且没有足够的空间,所以我想将它存储在外部硬盘中(我现在并不关心速度 - 这只是用于测试)。

最好的方法是什么?

  • 在外置硬盘上安装MySQL(在Mac上可以安装吗?)
  • 在笔记本电脑的硬盘上安装MySQL,并在外部使用表格(如何?)

4 个答案:

答案 0 :(得分:4)

一个简单的方法是创建一个符号链接,替换指向外部磁盘的当前mysql数据库文件位置。谷歌的象征性链接。

示例用法将在您关闭mysql之后,将旧的mysql db文件夹名称更改为其他名称,并使用ln命令创建符号链接,如下所示

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

然后将mysql db文件夹的所有先前内容移动到新位置。

答案 1 :(得分:0)

对于第二个选项,表空间可能会起到作用:

http://dev.mysql.com/doc/refman/5.1/en/create-tablespace.html

答案 2 :(得分: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就会正常启动。

答案 3 :(得分:0)

打开SELECT PASSWORD("NEWPASSWORD");并找到/etc/mysql/my.cnf的值。另外,您可以使用

在mysql监视器中找到它
datadir

停止mysql

mysql>   select @@datadir;

将数据从那里复制到外部驱动器

sudo systemctl stop mysql

修改sudo rsync -av /var/lib/mysql /mnt/myHDD/somedir/mysql datadir的位置。
再次启动mysql

my.cnf

确认一切都还不错,然后删除原始数据目录。

This page contains a more extensive guide,但它警告的所有其他问题与我的树莓派PI无关。即我跳过了它们,它奏效了。