前言: MySQL中的binlog日志记录了数据库中数据的变动,便于对数据的基于时间点和基于位置的恢复,但是binlog也会日渐增大,占用很大的磁盘空间,因此,要对binlog使用正确安全的方法清理掉一部分没用的日志. [方法一]手动清理binlog 清理前的准备: ① 查看主库和从库正在使用的binlog是哪个文件 show master status\G show slave status\G ② 在删除binlog日志之前,首先对binlog日志备份,以防万一 开始动手删除binlog:
-- SQLServer 2008 的数据库日志清理 ,与 Sql2000 或 2005 的方法不一样,需要采用 下面的sql来清理 USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'数据库日志文件名称' , 0,TRUNCATEONLY) GO
USE [master] --运行master数据库 GO ALTER DATABASE HIS_MHYW SET RECOVERY SIMPLE WITH NO_WAIT --库 (dh_emr) GO ALTER DATABASE HIS_MHYW SET RECOVERY SIMPLE --简单模式 GO USE HIS_MHYW GO , TRUNCATEONLY) --日志文件(portal_emr_log) USE [master] GO ALTER DATABASE HIS_MHY
查看配置 show variables like '%general%'; 开启日志功能 set GLOBAL general_log='ON'; 设置日志存储路径 SET GLOBAL general_log_file='C:/phpStudy/www/xxx.php'; 执行sql语句,写入日志文件 成功写入
USE [master] GO ALTER DATABASE HCPM_01_181230 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE HCPM_01_181230 SET RECOVERY SIMPLE --简单模式 GO USE HCPM_01_181230 GO DBCC SHRINKFILE (N'DNF_01_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE H
部门mysql数据库的服务器磁盘空间快满了,查看了下磁盘的慢日志,发现占了50多个g,百度了资料后删除成功,现在和大家分享下我清理的过程,或许有更好的办法. 1.首先连接进入mysql,查看慢日志的状态,show variables like '%slow%'; 2.此时慢日志的状态是开启的,且慢日志的路径也可以看到,接下来就是要先关闭慢日志,使用 set global slow_query_log=0; 关闭之后再次检查下慢日志的状态,已经是关闭了,如图: 3.关闭慢日志后,我们重置慢日志的