萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> 數據庫綜合 >> 清空MySQL日志的方法

清空MySQL日志的方法

大家知道清空MySQL日志嗎?下面我們就給大家詳細介紹一下吧!MySQLserver運行有1年多時間,最近無法正常運行,啟動也失敗,後來檢查了一下日志,發現沒有空間寫日志,只好找清理日志的方法,本來想直接刪除那些日志,可是仔細一想,這些日志都是嚴格編號的,萬一刪除一個,導致mysql無法運行豈不誤事。

一分離附加法:

1、首先把數據庫分離,分離數據庫之前一定要做好數據庫的全備份,選擇數據庫——右鍵——任務——分離,其中藥勾選刪除連接!

分離後在數據庫列表將看不到已分離的數據庫。

2、刪除數據庫的LOG文件數據庫文件夾下的對應數據庫的 ldf文件

3、附加數據庫,附加的時候會提醒找不到log文件。到時附加上後會自動創建一個新的日志文件,從而達到清理數據庫的目的

二、sql語句清除mssql日志

DUMP TRANSACTION TestDB WITH NO_LOG 清除日志

DBCC SHRINKFILE ('TestDB_log',1) 收縮數據庫文件

BACKUP LOG TestDB WITH NO_LOG 截斷事務日志

該命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。

首先我們需要獲取數據庫文件的路徑:

declare @logfilename varchar(100)

declare @datafilename varchar(100)

select @logfilename=physical_name from sys.database_files where type=1

select @datafilename=physical_name from sys.database_files where type=0

然後切換到master下,分離數據庫

use master

exec sp_detach_db @dbname='TestVFA';

緊接下來就是刪除數據庫 日志文件

----Remove file

DECLARE @Result int

DECLARE @FSO_Token int

EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT

EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile', NULL, @logfilename

EXEC @Result = sp_OADestroy @FSO_Token

最後就是附加數據庫

exec sp_attach_single_file_db @dbname='TestVFA',@physname=@datafilename

注意:默認Ole Automation Procedures 是禁用的我們需要啟用它

exec sp_configure 'show advanced options', 1;

RECONFIGURE;

exec sp_configure 'Ole Automation Procedures',1;

RECONFIGURE;

相信大家已經了解清空MySQL日志了吧!感謝大家對我們網站的支持!

相關推薦:

MySQL中select語句講解

想了解更多關於MySQL教程。請點擊精品學習網編程開發欄目!!

copyright © 萬盛學電腦網 all rights reserved