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
参考:
- https://www.tecmint.com/change-default-mysql-mariadb-data-directory-in-linux/
- https://serverfault.com/questions/872478/cannot-change-mariadb-datadir-since-debian-9
|