Zmienna „plik_log_ogólny” nie może być ustawiona na wartość „/var/lib/msyql/ubuntu.log”

10

Zmieniłem wartość MySQL general_log_filezmiennej do czegoś innego, a teraz próbuję zmienić go z powrotem do tego, co było pierwotnie /var/lib/mysql/ubuntu.log. Ale kiedy robię:

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

Otrzymuję ten błąd:

BŁĄD 1231 (42000): Zmienna „plik_log_ogólny” nie może być ustawiona na wartość „/var/lib/msyql/ubuntu.log”

Co się dzieje?

XåpplI'-I0llwlg'I -
źródło

Odpowiedzi:

22

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

Co się dzieje?

Prosta odpowiedź brzmi: ten plik nie istnieje.

Pisz za szybko. W nazwie pliku powinna znajdować się literówka /var/lib/mysql/ubuntu.log.

kwanty
źródło
1
Jeśli folder istnieje, może potrzebować odpowiednich uprawnień dla mysqlużytkownika (lub właściciela mysqldprocesu), aby do niego napisać.
mwfearnley
2

Wiem, że to bardzo stara odpowiedź, ale na wypadek, gdyby ktoś inny szukał tutaj odpowiedzi.

W moim przypadku problemem były uprawnienia, które nie były poprawne w folderze docelowym.

Tata
źródło
2
Głosowałbym za odpowiedzią, jeśli możesz być bardziej precyzyjny na temat posiadanych uprawnień i tego, czego potrzebujesz (a to nie było 777).
MadHatter,
1
Miałem pozwolenie tylko rootowi na zapis do tego katalogu. co oznacza, że ​​użytkownik mysql nie miał uprawnień do zapisu na nim. Stąd - masz kilka opcji, aby to naprawić. dodaj uprawnienia 777 (tak jak zrobiłem) lub utwórz katalog, w którym użytkownik mysql będzie mógł do niego pisać.
Tata,
777uprawnienia są naprawdę bardzo kiepskim pomysłem.
MadHatter
1
w moim przypadku - wcale nie był to zły pomysł, ponieważ jest to folder „śmieci”, który chcę do niego napisać z dowolnego miejsca. Nie ustawiłem pliku do zapisania w /var/lib/mysql/ubuntu.log jak w pytaniu, dlatego nie dodałem pomysłu 777 na początku. zauważając, że nawet jeśli folder istnieje - warto sprawdzić, czy ma on odpowiednie uprawnienia.
Tata,