Fedora - MySQL 磁盘空间问题 and/or SELinux 证书问题

Fedora - MySQL Diskspace Problem and/or SELinux certificate problem

之前有人问过类似的问题,但它们似乎对我不起作用,我有一个理论为什么会这样(稍后在 post)。

背景:我已经在我的 Fedora 31 上安装了 MySQL 到 运行 本地服务器。到目前为止,一切都按预期进行,我很高兴地使用了我的数据库。我没有考虑到的是这个数据库正在用尽我的一些 space,因为我正在处理的项目是数据密集型的,MySQL 停止了 运行ning 查询由于缺少 space。我按照这个博客 here 移动了我的目录在我的主分区中的位置 space。

但是,重启服务器时,没有成功。 systemctl status mysqld.service给出的错误信息是:

从各种来源,我感觉这与 SELinux 上下文有关。如博客post中所述,我更改了类型,即为原始类型。经过检查,我意识到上下文的用户方面是不同的(system_u for /var/lib/mysql vs confined_u for /new/directory/in/home)。鉴于许可似乎被拒绝,我怀疑这与差异有关。

我现在的问题是:我该如何解决这个问题?我可以更改用户而不会产生影响吗?如果是这样,如何?键入此内容时我的另一个想法 - 我是否遗漏了什么,可能我可能试图在同一分区内移动我的数据库而没有获得额外的 space。要回答这个问题,我需要知道在标准的 fedora 安装中 /var 和 /home 是否位于不同的分区上。这个问题的答案?如果是这种情况 - 我怎样才能分配更多 space 到我的数据库,这样我就不会再遇到任何麻烦 运行 了?我的 /home 分区中还有 770 GB 的空闲空间,所以这应该不是问题。请参阅下面的屏幕截图了解我当前的分区:

如有任何帮助,我们将不胜感激! 谢谢

编辑:ls -laZ 的输出 semanage fcontextchcon -R -t mysqld_db_t /data 一样吗?因为那时我做了 chcon -t mysqld_db_t /homechcon -t mysqld_db_t /home/{username}chcon -R -t mysqld_db_t /home/{username}/mysql_data。除此之外我没有做任何事情,因为我只是关注博客 post 没有左看右看。基于此有什么建议吗?

错误是权限被拒绝,所以它不是 space 问题。

尝试: systemctls 编辑 mysqld.service

创建:

[Service]
ProtectHome=false

然后systemctl start mysqld.service

如果不行,回头看看selinux。什么 semanage fcontext 命令是 运行?什么restorecon命令? ls -laZ {newdatadir} 到底是什么?

或者更正 space 问题:

如果 /home 是 ext[34],您可以 reduce its size(文件系统和逻辑卷)并增加根逻辑卷和文件系统。

或者 17G 就足够了 足够使用交换卷,如:

swapoff /dev/fedora.../swap
lvremove fedora.../swap
lvextend fedora.../root -L +17G
resize2fs /
in /etc/fstab remove swap entry (or replace with 1-2G file based swap)