今天手贱,看到mysql 的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,
本人开发环境 vagrant + ubuntu12.04 ,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面
然后重启服务,service mysql restart
查看错误日志发现说
/usr/sbin/mysqld: File '/data/logs/mysql/mysql.log' not found (Errcode: 13)
150830 0:02:44 [ERROR] Could not use /data/logs/mysql/mysql.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.
猜测是权限问题,最后都给了777 也还是搞不定,在万能的google的帮助下找到了答案
As usual, the solution was simple but not obvious: it needed to edit apparmor settings I just added to /etc/apparmor.d/usr.sbin.mysqld a new string with path to target directory: /home/developer/logs/* rw
It works!
原文地址:http://stackoverflow.com/questions/7660410/try-to-change-bin-log-directory-mysql-bin-index-not-found-errcode-13
估计很多人会问 apparmor 是干什么的,请查看文章:Ubuntu apparmor何方神圣
不错
回复 @ apanly: 非常不错