mysql-更改datadir后,MariaDB无法启动
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-更改datadir后,MariaDB无法启动,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2616字,纯文字阅读大概需要4分钟。
内容图文
![mysql-更改datadir后,MariaDB无法启动](/upload/InfoBanner/zyjiaocheng/886/7fc3173067304fb49f4d0f41b0b8e0db.jpg)
背景信息:
我让CentOS 7安装程序自动分区.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 43G 7.9G 85% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9.3M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 492M 123M 369M 25% /boot
/dev/mapper/centos-home 476G 54G 422G 12% /home
tmpfs 6.3G 0 6.3G 0% /run/user/1000
tmpfs 6.3G 0 6.3G 0% /run/user/0
但是我没想到不是大多数磁盘空间都进入/根目录,
现在/ var / lib / mysql中的MariaDB现在有35GB的空间了.
所以我通过下面的命令更改了数据目录,但是无法启动
systemctl stop mariadb
cp -fR /var/lib/mysql /home/
chown -R mysql:mysql /home/mysql
vi /etc/my.cnf.d/server.cnf
并添加了以下行
[mysqld]
datadir=/home/mysql
systemctl启动mariadb
但失败并符合“无法创建测试文件”的规定
Jul 06 22:32:26 ging2 systemd[1]: Starting MariaDB database server...
Jul 06 22:32:26 ging2 mysqld[9450]: 2017-07-06 22:32:26 140114825693312 [Note] options --log-slow-admin-statements, --log-queries-not-us...s not set
Jul 06 22:32:26 ging2 mysqld[9450]: 2017-07-06 22:32:26 140114825693312 [Note] /usr/sbin/mysqld (mysqld 10.2.5-MariaDB) starting as process 9450 ...
Jul 06 22:32:26 ging2 mysqld[9450]: 2017-07-06 22:32:26 140114825693312 [Warning] Can't create test file /home/mysql/ging2.lower-test
Jul 06 22:32:26 ging2 mysqld[9450]: [87B blob data]
Jul 06 22:32:26 ging2 mysqld[9450]: 2017-07-06 22:32:26 140114825693312 [ERROR] Aborting
我不知道为什么它不起作用,我认为权限和所有权与旧的datadir相同.
我想你们当中有些人知道原因.有人可以帮忙吗?
谢谢!!
解决方法:
这只是在Debian 8上给我带来的打击-> 9升级.不管尝试什么,我都无法使MariaDB为/ home下的datadir启动.
我能找到的所有答案都引用了更改AppArmor或SELinux,但均未安装.
问题实际上是systemd,在MariaDB启动文件中有一个安全指令,阻止其使用/ home!
系统服务文件(在Debian上为/lib/systemd/system/mariadb.service)包含以下设置:ProtectHome = true.此设置将阻止MySQL写入/ home下的任何文件夹,因此它将在启动时引发ErrNo 13:权限被拒绝错误.
解决方法是将datadir移出/ home,或者关闭systemd服务文件中的此安全功能:
我将其修复如下:
1:sudo cp /lib/systemd/system/mariadb.service / etc / systemd / system /#对服务文件进行本地覆盖
2:编辑/etc/systemd/system/mariadb.service并将ProtectHome更改为false(ProtectHome = false).保存文件
3:sudo systemctl daemon-reload#刷新systemd服务,以便它看到您的覆盖文件
4:sudo systemctl启动mysql
…它应该终于开始了!!!
如果已经安装了AppArmor和SELinux,您还需要处理它们,这两者都将阻止更改MySQL数据目录.
内容总结
以上是互联网集市为您收集整理的mysql-更改datadir后,MariaDB无法启动全部内容,希望文章能够帮你解决mysql-更改datadir后,MariaDB无法启动所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。