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

作者:dybai
出自:http://www.cnblogs.com/0xcafebabe
赞赏:3Ky9q5HVGpYseBPAUTvbJBvM3h3FQ3edqr
本作品采用知识共享署名-相同方式共享 3.0 中国大陆许可协议进行许可。
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

原文地址:https://www.cnblogs.com/0xcafebabe/p/14773455.html