视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Linux下MySQL的写文件时权限错误(Errcode:13)解决方法
2020-11-09 11:37:39 责编:小采
文档


Linux服务器的MySQL运行缓慢,CPU占用有时超过80%,于是找到my.cnf,修改相关配置,然后加上日志看看哪些SQL语句影响性能:

前几天,Linux服务器的MySQL运行缓慢,CPU占用有时超过80%,于是找到my.cnf,修改相关配置,然后加上日志看看哪些SQL语句影响性能:

结果mysql服务重启后,发现并未生成日志,查看mysql的错误日志,,有这么一段文字

  • /usr/sbin/mysqld: File '/home/mysql/log/mysql-slow.log' not found (Errcode: 13)
  • 120224 14:00:17 [ERROR] Could not use /home/mysql/log/mysql-slow.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.
  • 在网上搜索一下,都说是mysql的读写文件权限问题,于是用chmod和chown将/home及其子文件夹和文件全部改成mysql用户

  • # touch /var/log/mysql/mysql-slow.log
  • # chmod 777 /var/log/mysql/mysql-slow.log
    # chown mysql:mysql /var/log/mysql/mysql-slow.log 
  • 然后重启服务,错误依旧, mysql-slow.log 文件仍然是空的。

    再去Google搜索,说是要改/etc/passwd文件中的mysql账号的主目录,可是发现mysql账号的主目录就是“/home/mysql”,难道mysql对主目录下的子目录还没有操作权限?

    于是将日志中的位置改到“/home/mysql/mysql-slow.log”,重启mysql服务,错误依旧!

    真有点让人崩溃了……这么折腾了两天,没有结果,只有先暂停了,反正没有日志,mysql一样可以工作,CPU占用已经降到10%以内。


    正好前天想导出一个表格的数据,于是用select * into outfile '/home/mysql/data.sql',mysql又提示错误:

  • ERROR 1 (HY000): Can't create/write to file '/home/mysql/data.sql' (Errcode: 13)
  • 看错误代号,应该还是权限的问题。之前也遇到过类似错误,如果导出到/tmp目录下是没问题的。可是通过“ls -l”命令,证实/home/mysql已经全部改成mysql用户了,而且也具有读写的权限,为什么仍是不能操作呢?

    在绝望之余,终于在网上找到最终解决方法:

  • # setsebool -P mysqld_disable_trans=1
  • 执行上述命令后,重启mysql服务,日志终于生成了。select * into outfile也正常执行了,大功告成!!!


    以下摘录了网页中的详细介绍,具体网址不记得了。

    下载本文
    显示全文
    专题