我正在运行 Linux 服务器,我想知道是否以及如何更改 Mysql 服务器的内容以保存在外部硬盘驱动器上,而不是现在存储的位置。
最佳答案
确切的方法取决于您使用的是 MyISAM 还是 InnoDB 表。
对于MyISAM来说,每个数据库都是一个目录,里面有表、格式、索引等。所有这些目录通常位于/var/lib/mysql/目录中。要放入不同的卷,您可以更改 datadir
配置选项,或者将 /var/lib/mysql/
设置为该新卷的挂载点。
对于InnoDB,默认是使用同一个/var/lib/mysql/
目录中的单个文件;因此安装一个新卷也可以。同样,如果您想将所有卷放在其他地方,可以使用配置变量来更改确切位置。
此外,InnoDB 可以使用整个分区或 block 设备作为数据存储,跳过文件系统。在大多数情况下,假定的速度增益可以忽略不计,因此通常不建议这样做,除非您已经拥有良好的卷管理环境。
最后,如果您已经有一些想要移动的数据,最简单的方法是在关闭 mysqld 进程之后并在引导它之前复制整个 /var/lib/mysql/
目录那里。
关于mysql - 更改mysql数据库的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961483/