首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法启用MySQL general_log。我做错了什么?

无法启用MySQL general_log。我做错了什么?
EN

Stack Overflow用户
提问于 2019-01-05 00:56:23
回答 1查看 103关注 0票数 0

我和MySQL 5.7.24Ubuntu 18.04上,我正在尝试以described here的身份启用general_log

因此,我在/etc/mysql/my.cnf中添加了以下内容:

代码语言:javascript
复制
general_log = on
general_log_file=/tmp/mysql.log

然后我停止并重新启动mysql,但是我得到了一个错误:

代码语言:javascript
复制
$ sudo service mysql stop
$ sudo service mysql start
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

所以我查看了systemctl status mysql.service

代码语言:javascript
复制
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2019-01-04 17:50:31 CET; 45s ago
  Process: 27206 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=0/SUCCESS)
  Process: 27613 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
 Main PID: 27208 (code=exited, status=0/SUCCESS)

Jan 04 17:50:31 librem systemd[1]: mysql.service: Failed with result 'exit-code'.
Jan 04 17:50:31 librem systemd[1]: Failed to start MySQL Community Server.
Jan 04 17:50:31 librem systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Jan 04 17:50:31 librem systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Jan 04 17:50:31 librem systemd[1]: Stopped MySQL Community Server.
Jan 04 17:50:31 librem systemd[1]: mysql.service: Start request repeated too quickly.
Jan 04 17:50:31 librem systemd[1]: mysql.service: Failed with result 'exit-code'.
Jan 04 17:50:31 librem systemd[1]: Failed to start MySQL Community Server.

journalctl -xe中,我得到了几乎相同的结果。

我尝试在/tmp/mysql.log中创建日志文件并将其转换为777,但在此之后,启动mysql失败并返回相同的错误。

有人知道这里出了什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-05 13:33:06

最后我用this tip解决了这个问题。只需将其复制粘贴到此处,供将来的读者使用:

代码语言:javascript
复制
SET global log_output = 'FILE';
SET global general_log_file='/var/log/mysql/general.log';
SET global general_log = 1;

不需要重新启动。用户需要超级权限(GRANT SUPER ON *.* TO user1@localhost)。这适用于数据库上的现有连接和新连接,并且是一个全局设置,因此它适用于所有数据库。

可以使用以下命令将其关闭

代码语言:javascript
复制
SET global general_log = 0;

无论如何,我祝大家有一个美好的一天!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54043121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档