Değişken 'general_log_file', '/var/lib/msyql/ubuntu.log' değerine ayarlanamaz


10

Ben mysql general_log_filedeğişkeninin değerini başka bir şeye değiştirdim ve şimdi orijinal olarak ne olduğunu değiştirmeye çalışıyorum /var/lib/mysql/ubuntu.log. Ama yaptığım zaman:

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

Bu hatayı alıyorum:

HATA 1231 (42000): 'general_log_file' değişkeni '/var/lib/msyql/ubuntu.log' değerine ayarlanamıyor

Neler oluyor?

Yanıtlar:


22

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

Neler oluyor?

Basit yanıt, bu dosyanın mevcut olmamasıdır.

Çok hızlı yazıyorsunuz. Dosya adında bir yazım hatası var, olmalı /var/lib/mysql/ubuntu.log.


1
Klasör varsa, mysqlkullanıcının (veya mysqldişlemin sahibi olanın ) ona yazması için uygun izinlere sahip olması gerekebilir .
mwfearnley

2

Bunun çok eski bir cevap olduğunu biliyorum, ancak başka birinin burada bir cevap araması durumunda.

Benim durumumda - sorun hedef klasörde doğru olmayan izinlerde idi.


2
Hangi izinlere sahip olduğunuz ve neye ihtiyaç duyduğunuzu (ve bu değildi 777) konusunda daha kesin olsaydınız cevabınızı onaylıyorum .
MadHatter

1
Kökün yalnızca bu dizine yazma iznim vardı. Yani mysql kullanıcısının yazma izni yoktu. Buradan - bunu düzeltmek için birkaç seçeneğiniz var. (yaptığım gibi) 777 izinleri ekleyin veya mysql kullanıcısına yazmak için bir dizin oluşturun.
Tata

777izinler gerçekten çok kötü bir fikir.
MadHatter

1
benim durumumda - bu hiç bir yerden yazmak istiyorum bir "önemsiz" klasör olduğu gibi, hiç de kötü bir fikir değildi. /Var/lib/mysql/ubuntu.log dosyasına yazılacak dosyayı ayarlamıyordum, bu yüzden ilk etapta 777 fikrini eklemedim. sadece klasör var olsa bile - doğru izinlere sahip olup olmadığını kontrol etmeye değer.
Tata
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.