【发布时间】:2020-06-24 00:21:35
【问题描述】:
之前有人问过类似的问题,但它们似乎对我不起作用,我有一个理论为什么会这样(稍后在帖子中)。
背景:我在我的 Fedora 31 上安装了 MySQL 来运行本地服务器。到目前为止,一切都按预期工作,我很乐意使用我的数据库。我没有考虑的是这个数据库占用了我的一些空间,因为我正在处理的项目是数据量大的,MySQL 由于空间不足而停止运行查询。我跟着这个博客here 移动了我的目录在我的主分区中的位置,并有足够的空间。
但是,当重新启动服务器时,它无法这样做。 systemctl status mysqld.service 给出的错误信息是:
从各种来源我感觉这与 SELinux 上下文有关。如博文中所述,我更改了类型,与原始类型相同。经过检查,我意识到上下文的用户方面是不同的(/var/lib/mysql 的 system_u 与 /new/directory/in/home 的受限_u)。鉴于许可似乎被拒绝,我怀疑这与差异有关。
我现在的问题是:我该如何解决这个问题?我可以在没有影响的情况下更改用户吗?如果是这样,怎么做?键入此内容时我的另一个想法 - 我是否遗漏了什么,可能我可能试图在同一个分区内移动我的数据库而没有获得额外的空间。要回答这个问题,我需要知道在标准的 Fedora 安装中 /var 和 /home 是否位于不同的分区上。这个问题的答案?如果是这种情况 - 我怎样才能为我的数据库分配更多空间,这样我运行它就不会再遇到麻烦了?我的 /home 分区中仍有 770 GB 可用空间,所以这真的不应该成为问题。请参阅下面的屏幕截图了解我当前的分区:
任何帮助将不胜感激! 谢谢
编辑: ls -laZ 的输出
semanage fcontext 和 chcon -R -t mysqld_db_t /data 一样吗?因为那时我做了chcon -t mysqld_db_t /home、chcon -t mysqld_db_t /home/{username} 和chcon -R -t mysqld_db_t /home/{username}/mysql_data。除此之外,我没有做任何事情,因为我只是跟着博文不左顾右盼。基于此有什么建议吗?
【问题讨论】:
-
fcontext正在更改特定目录的默认标签。如果 /home 是 ext[34] 你可以reduce its size 并增长根。或者 17G 就足够了 - 删除交换 lv 并将其用于 root。 -
我只是改变了大小。整个安全环境情况让我感到困惑(和害怕)。谢谢你的帮助!我想知道您是否可以将有关如何更改尺寸的评论添加到您的答案中,然后我会接受。谢谢!
标签: mysql fedora partition selinux