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 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
。除此之外我没有做任何事情,因为我只是关注博客 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)
之前有人问过类似的问题,但它们似乎对我不起作用,我有一个理论为什么会这样(稍后在 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 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
。除此之外我没有做任何事情,因为我只是关注博客 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)