【问题标题】:Changing location of mysql database更改mysql数据库的位置
【发布时间】:2012-04-15 05:32:51
【问题描述】:

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

【问题讨论】:

    标签: mysql database linux debian


    【解决方案1】:

    具体方法取决于您使用的是 MyISAM 还是 InnoDB 表。

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

    对于 InnoDB,默认使用同一 /var/lib/mysql/ 目录中的单个文件;所以在那里安装一个新卷也可以。同样,如果您想将所有卷放在其他位置,可以使用配置变量来更改确切位置。

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

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

    【讨论】:

      【解决方案2】:

      除了其他答案,我建议有一个 MySQL 转储程序(可能是mysqldump --all-databases),然后清除您的 MySQL 服务器并重新加载它。

      当然,这比其他技术(直接移动内部 MySQL 服务器)要慢一些,但它具有锻炼数据库备份和恢复技能的决定性优势。如果您愿意,它还可以让您稍微更改数据库配置。

      我确实希望您有一个定期运行的数据库备份过程。

      【讨论】:

        猜你喜欢
        • 2015-11-14
        • 1970-01-01
        • 2015-08-15
        • 2023-03-12
        • 2021-03-01
        • 2011-09-23
        • 2015-07-22
        • 1970-01-01
        • 2013-07-19
        相关资源
        最近更新 更多