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


10

我将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'的值

这是怎么回事?

Answers:


22

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


1
如果该文件夹存在,则它可能需要mysql用户(或拥有该mysqld进程的任何人)适当的权限才能写入该文件夹。
mwfearnley

2

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

以我为例-问题出在目标文件夹上的权限不正确。


2
如果您可以更精确地了解拥有的权限以及发现的所需资源(那不是777),我会提高您的答案。
MadHatter

1
我只有root权限才能写入该目录。表示mysql用户没有写权限。从这里开始-您有几种选择可以解决此问题。添加777权限(就像我所做的那样)或为mysql用户创建一个目录来写入它。
塔塔2015年

777许可确实是一个非常糟糕的主意。
MadHatter

1
就我而言-这绝对不是一个坏主意,因为这是我想从任何地方写入的“垃圾”文件夹。我没有像问题中那样将文件设置为写入/var/lib/mysql/ubuntu.log,这就是为什么我没有首先添加777的想法。只是要注意,即使该文件夹存在-值得检查它是否具有正确的权限。
塔塔2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.