mysql - 更改mysql数据库的位置

标签 mysql database linux debian

我正在运行 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/

相关文章:

php - 用php和数据库选择的下拉框

.net - System.Transactions 与 MSDTC

database - Hibernate 在架构更新时自动创建 SQL 迁移脚本以与 Flyway 一起使用

linux - Jenkins 脚本 tar : write error

mysql - 合并或移动事件 MySql 数据库的方法

MySQL/MariaDB : Store a datetime WITH timezone

ruby-on-rails - 安装 do_postgres (0.10.16) 时发生错误 Bundler 无法继续。确保 'gem install do_postgress -v ' 0.10.16' 成功

c - yocto 项目中的 do_rootfs 函数失败

mysql - 如何根据MySQL中子查询结果的组合选择特定值

PHP/MYSQL 按不同日期和用户分组和计数