mysql flush logs时出现ERROR 1105

mysql 5.7.11 on Oracle Linux 5.8
查看eror log所在目录为
mysql> show variables like '%log_error%';
+---------------------+---------------------+
| Variable_name       | Value               |
+---------------------+---------------------+
| binlog_error_action | ABORT_SERVER        |
| log_error           | /var/log/mysqld.log |
| log_error_verbosity | 3                   |
+---------------------+---------------------+
现在想rotate日志,如下动作:
[root@sdb5-11g log]# mv mysqld.log mysqld.log.old
完成后再执行flush logs,但是出现以下错误:


mysql> FLUSH LOGS;   ERROR 1105 (HY000): Unknown error
由于日志所在目录只有root有权限新建文件,从mysql客户端执行flush logs其实是以mysql这个账号去执行的,所以会权限不足。
[root@sdb5-11g log]# ls -ld
drwxr-xr-x 15 root root 4096 May 27 08:39 .
解决方法:
在该目录下新增一个文件mysqld.log
vi mysqld.log
修改权限:
chown mysql:mysql mysqld.log
chmod o-rmysqld.log
最后权限如下:
[root@sdb5-11g log]# ls -l mysqld.log
-rw-r----- 1 mysql mysql 8284 May 27 09:41 mysqld.log



mysql> FLUSH LOGS;   ERROR 1105 (HY000): Unknown error

你可能感兴趣的:(mysql)