การล้าง /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

นั่นคือคำตอบที่ถูกต้อง สิทธิพิเศษของ sudo ของคุณจะหายไปเมื่อคุณเปลี่ยนเส้นทาง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.