Ran*_*ana 14 mysql logging clear
我在服务器上工作,一般的mysql日志表占用的空间接近200GB,这是巨大的.所以,我打算用以下方法清除它:
TRUNCATE table mysql.general_log
Run Code Online (Sandbox Code Playgroud)
好吗?它会引起任何问题吗?我担心服务器是实时和大应用程序.谢谢.
Kou*_*jee 16
它肯定会导致问题,除非它没有被禁用然后你截断.如果在启用时截断.如果表是巨大的,Truncate将锁定表,因为mysql.general_log引擎是CSV或MyISAM,同时新创建的条目将尝试写入一般日志表中,导致锁定所有连接,最终将以"太多"结束连接".所以为了安全,请这样做
mysql> SET GLOBAL general_log=OFF;
mysql> TRUNCATE table mysql.general_log;
mysql> SET GLOBAL general_log=ON;
Run Code Online (Sandbox Code Playgroud)
小智 6
它不会导致问题,但是你会失去所有旧的日志条目,所以Ravindra的建议是好的.
您可以使用以下命令进行备份:
mysqldump -p --lock_tables = false mysql general_log> genlog.sql
您是否需要一直登录?我通常只在我解决性能问题时才打开它.MySQL在那里记录所有内容(客户端连接,断开连接和每个语句).在大多数系统中,日志变得非常快.这也有一些性能开销.
| 归档时间: |
|
| 查看次数: |
20052 次 |
| 最近记录: |