首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改mysql数据库的位置

问更改mysql数据库的位置
EN

Stack Overflow用户
提问于 2012-04-01 10:39:25
回答 2查看 3.8K关注 0票数 2

我正在运行一台linux服务器,我想知道我是否可以以及如何将Mysql服务器的内容更改为保存在外部硬盘上,而不是现在存储它的地方。

EN

回答 2

Stack Overflow用户

发布于 2012-04-01 10:58:12

确切的方法取决于您使用的是MyISAM表还是InnoDB表。

对于MyISAM,每个数据库都是一个目录,里面有表、格式、索引等。所有这些目录通常都在/var/lib/mysql/目录中。要放入不同的卷,您可以更改datadir配置选项,或者将/var/lib/mysql/设置为新卷的安装点。

对于InnoDB,默认情况下在同一个/var/lib/mysql/目录中使用单个文件;因此,在其中挂载一个新卷也可以。同样,如果您希望将所有卷放在其他位置,则可以使用配置变量来更改确切位置。

此外,InnoDB可以使用整个分区或块设备作为数据存储,跳过文件系统。在大多数情况下,假设的速度增益可以忽略不计,所以通常不建议这样做,除非您已经有了一个良好的卷管理环境。

最后,如果您已经有一些想要移动的数据,最简单的方法是在关闭mysqld进程之后复制整个/var/lib/mysql/目录,然后再将其定向到该目录。

票数 4
EN

Stack Overflow用户

发布于 2012-04-01 15:34:37

除了其他答案之外,我建议使用MySQL转储过程(可能是mysqldump --all-databases),然后清除MySQL服务器并重新加载它。

当然,这比其他技术(直接移动内部MySQL服务器)要慢一些,但它在锻炼数据库备份和恢复技能方面具有决定性的优势。它还允许您根据需要稍微更改数据库配置。

我真的希望你有一个定期运行的数据库备份过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9961483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档