尝试重新启动 MySQL 服务器后,我遇到了这个错误。
root@private:/# mysqld_safe
140618 03:56:53 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140618 03:56:53 mysqld_safe Logging to '/var/log/mysql/error.log'.
140618 03:56:53 mysqld_safe Starting mysqld daemon with databases from /mysql
140618 03:56:53 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
我遵循的方法(并且大多数在互联网上找到)将/var/log/mysql 的权限更改为 mysql user。但它不起作用。
drwxr-s--- 2 mysql mysql 4096 Jun 18 03:31 mysql/
里面:
root@private:/var/log# ll mysql
total 12
drwxr-s--- 2 mysql mysql 4096 Jun 18 03:31 ./
drwxr-xr-x 24 root root 4096 Jun 18 03:27 ../
-rw-r----- 1 mysql mysql 1989 Jun 18 03:34 error.log
-rwxrwxrwx 1 mysql mysql 0 Jun 18 03:13 mysql-bin.index*
我的数据路径:
drwxr-xr-x 3 mysql mysql 4096 Jun 18 03:27 mysql/
我什至也尝试重新安装 MySQL,但错误并没有消失。
请帮我!!!
更新 1:关于 my.cnf - 错误日志配置。我打开了常规日志和错误日志(到error.log)。但一般日志文件中没有任何内容。对于错误日志文件,没有比我上面复制的错误更多的了。
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /var/log/mysql/mysql.log
general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
更新 2:关于 apparmor 或 selinux 的问题,我只是使用 apparmor。我还尝试附加:
/var/log/* rw
至
/etc/apparmor.d/usr.sbin.mysqld
但它要么不起作用
更新 3:
而且我相信以下更改确实适用于我的情况:
必须确保 mysql 帐户对您的 mysql 日志/数据目录具有足够的权限 (rw)。从 root 或 sudoer 帐户只需尝试切换到 mysql 用户,然后创建/编辑任何测试文件。
不要删除或禁用 apparmor 并使用以下内容更新 mysql 配置文件(通常为 usr.sbin.mysqld):
/var/log/mysql-bin.index rw,
/mysql/* 读写,
您可以根据您的情况自定义它们。
重新加载mysql配置文件
apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
并重新启动它。
希望它会为任何遇到互联网并支付数小时以更改许可和设备而没有任何运气的人提供帮助。