.
.
.
.
.
首先安装 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)
MariaDB cannot start after update: [Warning] Can't create test file /home/mysql/beta.lower-test