Die Variable 'general_log_file' kann nicht auf den Wert von '/var/lib/msyql/ubuntu.log' gesetzt werden.


10

Ich habe den Wert der general_log_fileVariablen von mysql in etwas anderes geändert , und jetzt versuche ich, ihn wieder auf den ursprünglichen Wert zu ändern /var/lib/mysql/ubuntu.log. Aber wenn ich das mache:

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

Ich erhalte diesen Fehler:

FEHLER 1231 (42000): Die Variable 'general_log_file' kann nicht auf den Wert '/var/lib/msyql/ubuntu.log' gesetzt werden.

Was ist los?

Antworten:


22

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

Was ist los?

Die einfache Antwort ist, dass diese Datei nicht existiert.

Sie tippen zu schnell. Der Dateiname enthält einen Tippfehler /var/lib/mysql/ubuntu.log.


1
Wenn der Ordner vorhanden ist, benötigt er möglicherweise die entsprechenden Berechtigungen, damit der mysqlBenutzer (oder der Eigentümer des mysqldProzesses) in ihn schreiben kann.
mwfearnley

2

Ich weiß, dass dies eine sehr alte Antwort ist, aber nur für den Fall, dass jemand anderes hier nach einer Antwort sucht.

In meinem Fall lag das Problem in Berechtigungen, die für den Zielordner nicht korrekt waren.


2
Ich würde Ihre Antwort positiv bewerten, wenn Sie genauer sagen könnten, welche Berechtigungen Sie hatten und was Sie für erforderlich hielten (und das war es nicht 777).
MadHatter

1
Ich hatte die Erlaubnis, dass root nur in dieses Verzeichnis schreiben darf. Dies bedeutet, dass der MySQL-Benutzer keine Berechtigung zum Schreiben hatte. Von hier aus haben Sie mehrere Möglichkeiten, dies zu beheben. Fügen Sie 777 Berechtigungen hinzu (wie ich es getan habe) oder erstellen Sie ein Verzeichnis, in das der MySQL-Benutzer schreiben kann.
Tata

777Berechtigungen sind in der Tat eine sehr schlechte Idee.
MadHatter

1
in meinem Fall - es war überhaupt keine schlechte Idee, da dies ein "Junk" -Ordner ist, in den ich von überall aus schreiben möchte. Ich habe die Datei nicht so eingestellt, dass sie wie in der Frage in /var/lib/mysql/ubuntu.log geschrieben wird. Deshalb habe ich die Idee von 777 überhaupt nicht hinzugefügt. Beachten Sie nur, dass es sich lohnt, zu überprüfen, ob der Ordner über die richtigen Berechtigungen verfügt, auch wenn er vorhanden ist.
Tata
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.