MariaDB更改数据存储目录datadir的路径

系统软件环境:Debian12,MariDB10.11.3
硬件环境:1037u+4GDDR3L+64Gmsata(装系统)+两个500G笔记本机械硬盘组成的Raid1

用默认安装的方式安装了mariaDB,但是由于怕64G的二手Msata固态硬盘坏掉,而且空间太小,所以就用两个闲置的2.5寸500G机械硬盘组了个Raid1.现在想把网站目录和数据库储存数据的目录迁移到这个Raid1.记录过程如下:
1、查询MariaDB数据存储目录的默认路径:
输入

mysql -u root -p

显示

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.11.3-MariaDB-1 Debian 12

Copyright (c)</
### 如何修改 MariaDB 数据库的存储路径 #### 停止 MariaDB 服务 为了安全地迁移数据库文件,在开始之前需要停止 MariaDB 服务。这可以通过命令行完成: ```bash sudo systemctl stop mariadb ``` 此操作确保在移动数据期间不会有任何读写活动影响数据一致性[^1]。 #### 创建新数据存放目录并复制现有数据 创建一个新的目标位置用于存放数据库文件,并将现有的 `/var/lib/mysql` 文件夹中的内容完整迁移到新的指定路径下,比如 `/data/mysql`: ```bash mkdir -p /data/mysql cp -R /var/lib/mysql/* /data/mysql/ chown -R mysql:mysql /data/mysql chmod 750 /data/mysql ``` 这些指令不仅会建立所需的文件结构,还会调整权限设置以匹配原版的要求[^2]。 #### 编辑配置文件更新 `datadir` 打开 MySQL 的主要配置文件(通常位于 `/etc/my.cnf.d/server.cnf` 或者其他地方),找到 `[mysqld]` 段落下的 `datadir` 参数将其指向新的路径;同时也要相应更改编译时定义好的套接字(`socket`)的位置: ```ini [mysqld] datadir=/data/mysql socket=/data/mysql/mysql.sock [client] socket=/data/mysql/mysql.sock ``` 保存更改后的配置文件[^3]。 #### 更新 AppArmor 设置 (如果适用) 对于某些 Linux 发行版本来说,可能还需要编辑 AppArmor 配置来允许访问新的数据目录。具体做法是在 `/etc/apparmor.d/usr.sbin.mysqld` 中加入如下几行: ```apparmor /data/mysql/ r, /data/mysql/** rwk, ``` 之后重新加载AppArmor策略使改动生效: ```bash sudo systemctl reload apparmor ``` #### 启动 MariaDB 并验证变更 最后一步就是尝试启动 MariaDB 来确认一切正常工作: ```bash sudo systemctl start mariadb ``` 登录到 MariaDB 控制台并通过查询变量表来检验实际使用的 `datadir` 是否已成功变更为预期的新地址: ```sql SHOW VARIABLES LIKE 'datadir'; ``` 通过上述步骤应该能够顺利完成 MariaDB 存储路径的转移过程[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值