OS: Debian 11
Version: MariaDB 10.5.11
主要注意几点:
- 文件权限,属性
- 新目录位置导致的无法启动
MySQL也是差不多的.
- 查看当前存储目录
a.mysql -u root -p -e "SELECT @@datadir;"
- 创建新存储目录
a.mkdir /home/mariadb-data
创建数据存储目录
b.chown -R mysql:mysql /home/mariadb-data
更换所有者等信息 - 停止服务
a.systemctl stop mariadb.service
- 复制原目录文件至新目录
a.cp -R -p /var/lib/mysql/* /home/mariadb-data
-p: 保留文件属性 - 修改
MariaDB
配置文件(记得先备份)
a.vi /etc/mysql/mariadb.conf.d/50-server.cnf
b. 修改basedir
为/home/mariadb-data
- 修改
mariadb.service
a. 因为现在MariaDB
不允许将数据目录存放在/home,/root and /run/user
等目录.
b. 所以需要修改mariadb.service
的ProtectHome
属性.
c. 因为数据库更新等原因,不要直接修改mariadb.service
, 而是通过systemctl edit mariadb.service
.
d. 添加如下内容后保存,文件名使用override.conf
, 默认的关闭编辑器后消失,不知道为什么.
e. 重新加载systemctl daemon-reload
. (一开始没成功,不知道后来咋成功的…)# Service 块不要忘记!!! [Service] ProtectHome = false
- 重新启动
MariaDB
a.systemctl start mariadb.service
参考: