type
status
slug
summary
tags
category
icon
password
new update day
Property
Oct 22, 2023 01:31 PM
created days
Last edited time
Oct 22, 2023 01:31 PM
MySQL 和 MariaDB 是两种流行的关系型数据库管理系统,它们可以在 Linux 上运行。它们通常将数据存储在
/var/lib/mysql
目录下,这是它们的默认数据目录。但是,有时候你可能想要将数据目录更改到其他位置,比如一个单独的分区或者一个外部硬盘。在本文中,我们将介绍如何在 Linux 中更改 MySQL 或 MariaDB 的默认数据目录。我们假设你已经安装了 MySQL 或 MariaDB,并且知道如何使用命令行。
步骤 1:停止 MySQL/MariaDB 服务
在更改数据目录之前,你需要先停止 MySQL 或 MariaDB 的服务,以避免数据损坏或丢失。你可以使用以下命令来停止服务:
如果你没有使用
systemctl
命令,你也可以使用 service
命令来停止服务:步骤 2:复制数据目录到新位置
接下来,你需要将原来的数据目录复制到新的位置。你可以使用
cp
命令来复制目录,但是你需要加上 -a
选项来保留目录的属性和权限。例如,如果你想要将数据目录复制到 /mnt/data/mysql
,你可以使用以下命令:注意:你需要确保新的位置有足够的空间来存储数据,并且有正确的权限和所有权。你可以使用
df -h
命令来查看磁盘空间,使用 chmod
和 chown
命令来修改权限和所有权。步骤 3:修改配置文件(以 archlinux 为例)
然后,你需要修改 MySQL 或 MariaDB 的配置文件,以指定新的数据目录。配置文件通常位于
/etc/my.cnf
或者 /etc/mysql/my.cnf
。你可以使用任何文本编辑器来修改配置文件,比如 nano
或者 vi
。例如,你可以使用以下命令来打开配置文件:在配置文件中,你需要找到
[mysqld]
部分,并添加或修改 datadir
选项,以指定新的数据目录。例如,如果你将数据目录复制到 /mnt/data/mysql
,你可以添加或修改如下:/etc/my.cnf
/etc/my.cnf.d/server.cnf
步骤5:修改 systemd service 文件
- 修改读写路径
- 如果你将数据放在了 /home 等文件夹,关闭主目录保护
步骤6:启动 MySQL 数据库、确实修改是否成功
- 启动 MySQL 数据库
- 查看数据目录
- 创建一个数据库进行测试
参考资料
- 作者:tangcuyu
- 链接:https://expoli.tech/articles/2023/05/11/How-to-Change-the-Default-MySQL/MariaDB-Data-Directory-in-Arch-Linux
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章