我将 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
这对我在类似情况下有所帮助:
- 新建一个文件夹在您的机器上的某个地方,就像这样(当然,您可以将文件夹命名为任何您想要的名称):
$ mkdir ~/log_files
- 更改所有权将此文件夹复制到
mysql
:
$ chown mysql:〜/ log_files
- 设置变量
general_log_file
到你刚刚在 mysql 控制台中创建的文件夹,如下所示:
mysql> 设置全局 general_log_file ='~/log_files/mysql_log.log';
重启mysql(可以通过谷歌搜索终端命令来找到你的具体设置,例如搜索“bitnami mysql restart”)
查看,如果日志文件存在于您在步骤 1 中创建的文件夹中
我希望它有帮助!
答案4
我的问题是,当我在 Docker 容器中运行 mysql 时,我试图在本地机器上创建一个日志文件。我能够启动 docker 的 CLI,进入容器并在那里跟踪日志文件。