mysql 开启日志报错 ERROR 29 (HY000): File '/var/log/mysql/mysql.log' not found (Errcode: 13 "Permission denied")
Mariadb 在 docker 容器化部署之后出现过报错,提示文件无法写入日志,当时没在意,但现在想要获取到 SQL 语句(代码中存在困难),所以需要解决这个问题。
一开始以为是日志没有打开,百度了一下 mysql 几个日志的的打开方法:
mysql> set global general_log=on;
mysql> set global slow_query_log=on;
结果报错:ERROR 29 (HY000): File '/var/log/mysql/mysql.log' not found (Errcode: 13 "Permission denied")
。
之后进入到 mysql 命令行,通过 show variables like '%_log%';
查看发现几个日志状态都是 ON。
几个日志文件地址:
general_log
/var/log/mysql/mysql.log
slow_query_log
/var/log/mysql/mysql-slow.log
error.log
/var/log/mysql/error.log
查看发现只有一个 error.log,其他两个文件都没有生成。
按照 MySQL性能优化(一)慢日志开启 教程提示,先放权,再重启 mysql。
# ubuntu,所以 sudo
sudo cd /var/log/
sudo chmod 777 mysql
sudo chown -R mysql.mysql mysql
# 重启 mysqld
systemctl restart mysqld
我这边是 docker 服务,所以 docker restart mariadb
重启容器就好了。
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »