ArchLinux 修改 MariaDB 数据库路径后启动报错 Can't create test file /xxxxx/xxxxx-test

.

.

.

.

.

首先安装 MariaDB,这一步没有什么特殊之处。

>$ sudo pacman -Sy
>$ sudo pacman -S extra/mariadb

安装完成后,注意看提示,会要求我们初始化 MariaDB。

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

其中 --datadir 就是数据库所在的路径,我把它修改到 /home/mariadb 这个路径下了。

 

接下来修改配置文件,将新数据库路径添加进去。

>$ sudo vim /etc/my.cnf.d/server.cnf
[mysqld]
datadir=/home/mariadb

 

编辑 /usr/share/mysql/policy/apparmor/usr.sbin.mysqld 文件,将新路径添加进去,否则无法启动数据库服务。

在此文件中搜索数据库的默认路径/var/lib/mysql,并照葫芦画瓢把我们的新路径也同样配置进去。

 

最后一步,修改 service 启动脚本,否则仍然无法启动服务。

>$ sudo vim /lib/systemd/system/mariadb.service
ProtectHome=false

将 ProtectHome=true 改为 ProtectHome=false。

 

现在可以启动数据库了。

>$ sudo systemctl daemon-reload
>$ sudo systemctl start mariadb
# 如需开机自启动,执行如下命令
>$ sudo systemctl enable mariadb

 

参考文献:

Archlinux下安装mariadb没法改变datadir(Can't create test file)

archlinux安装mariadb

MariaDB cannot start after update: [Warning] Can't create test file /home/mysql/beta.lower-test

MariaDB

 

posted on 2021-05-16 11:40  0xCAFEBABE  阅读(322)  评论(0编辑  收藏  举报

导航