变量“general_log_file”不能设置为“/var/lib/msyql/ubuntu.log”的值

变量“general_log_file”不能设置为“/var/lib/msyql/ubuntu.log”的值

我将 mysql 变量的值更改general_log_file为其他值,现在我试图将其改回原来的值。/var/lib/mysql/ubuntu.log但是当我这样做时:

SET GLOBAL general_log_file = '/var/lib/msyql/ubuntu.log';

我收到此错误:

错误 1231 (42000):无法将变量“general_log_file”设置为“/var/lib/msyql/ubuntu.log”的值

这是怎么回事?

答案1

ERROR 1231 (42000): Variable 'general_log_file' can't be set to the value of '/var/lib/msyql/ubuntu.log'

这是怎么回事?

简单的答案是这个文件不存在。

你打字太快了。文件名打错了,应该是/var/lib/mysql/ubuntu.log

答案2

我知道这是一个非常古老的答案,但以防万一其他人会在这里寻找答案。

就我而言 - 问题在于目标文件夹的权限不正确。

答案3

这对我在类似情况下有所帮助:

  1. 新建一个文件夹在您的机器上的某个地方,就像这样(当然,您可以将文件夹命名为任何您想要的名称):

$ mkdir ~/log_files

  1. 更改所有权将此文件夹复制到mysql

$ chown mysql:〜/ log_files

  1. 设置变量 general_log_file到你刚刚在 mysql 控制台中创建的文件夹,如下所示:

mysql> 设置全局 general_log_file ='~/log_files/mysql_log.log';

  1. 重启mysql(可以通过谷歌搜索终端命令来找到你的具体设置,例如搜索“bitnami mysql restart”)

  2. 查看,如果日志文件存在于您在步骤 1 中创建的文件夹中

我希望它有帮助!

答案4

我的问题是,当我在 Docker 容器中运行 mysql 时,我试图在本地机器上创建一个日志文件。我能够启动 docker 的 CLI,进入容器并在那里跟踪日志文件。

相关内容