Опущення /var/log/mysql/mysql.log: дозволів немає


0

Я хочу очистити зміст /var/log/mysql/mysql.log. Я спробував це:

sudo cat /dev/null > /var/log/mysql/mysql.log

Але це говорить, що я не маю дозволів. Це дуже важко для мене, оскільки, як ви бачите, я запускаю його як корінь.

Чому я не можу спорожнити вміст за mysql.logдопомогою цієї команди? Яка ваша порада її спорожнити?


можливо, файл журналу заблоковано / використовується mysql, спробуйте спочатку вбити процес mysql.

Відповіді:


4

>Оператор перенаправляє стандартний висновок sudo(який викликається з аргументами cat /dev/null) , і тому ви намагаєтеся записати в лог - файл з реальними правами користувача, а ні з підвищеною SUDO привілеїв.

Натомість ви повинні:

sudo bash -c "cat /dev/null > /var/log/mysql/mysql.log"

Або:

cat /dev/null | sudo tee /var/log/mysql/mysql.log

Це правильна відповідь. Як і в дудці, ваші права судо зникають, коли ви переспрямовуєтесь.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.