0
点赞
收藏
分享

微信扫一扫

mysqlbinlog查看日志

数据库binlog 怎么清理
首先,建议你在删除之前先对数据库用mysqldump做个全库备份。然后进入Mysql(用root用户)。然后showbinarylogs,这个命令会列出当前保存的所有二进制日志。然后用命令:
purgebinary/masterlogsto日志名(表示到这个日志之前的日志都删除掉)/before时间(表示到这个时间之前的日志都删除掉)
里面用“/”标明的是前后两个二选一的可选项。执行完后,就会删除了。
如果你不想这么麻烦,可以设置日志保存时长的。首先你要找到my.cnf配置文件,然后编辑它。在[mysqld]里面加入
expire_logs_days=想要保留的天数
然后重启Mysql服务。这样每当你重启mysql服务,或者是做flushlogs的时候,系统都会把超出设置天数之外的日志删掉。
如何安全删除MySQL下的binlog日志
最近发现mysql的binlog目录下的日志太多了,磁盘空间被占满了,导致网站访问不了。-rw-rw---- 1 mysql mysql 1073742161 May 31 20:51 binlog.000021-rw-rw---- 1 mysql mysql 1073742892 May 31 22:41 binlog.000022-rw-rw---- 1 mysql mysql 1073741876 Jun 1 00:30 binlog.000023-rw-rw---- 1 mysql mysql 1073741892 Jun 1 02:19 binlog.000024-rw-rw---- 1 mysql mysql 1073742650 Jun 1 04:08 binlog.000025-rw-rw---- 1 mysql mysql 1073742008 Jun 1 05:57 binlog.000026-rw-rw---- 1 mysql mysql 1073743194 Jun 1 07:46 binlog.000027-rw-rw---- 1 mysql mysql 1073743161 Jun 1 09:34 binlog.000028-rw-rw---- 1 mysql mysql 1073741891 Jun 1 11:23 binlog.000029-rw-rw---- 1 mysql mysql 1073742841 Jun 1 13:11 binlog.000030-rw-rw---- 1 mysql mysql 1073744077 Jun 1 15:00 binlog.000031-rw-rw---- 1 mysql mysql 1073744098 Jun 1 16:49 binlog.000032-rw-rw---- 1 mysql mysql 1073743330 Jun 1 18:38 binlog.000033-rw-rw---- 1 mysql mysql 1073746020 Jun 14 16:20 binlog.000034-rw-rw---- 1 mysql mysql 1073743436 Jun 15 19:26 binlog.000035-rw-rw---- 1 mysql mysql 247808012 Jun 18 11:25 binlog.000036-rw-rw---- 1 mysql mysql 20455501 Jun 18 16:11 binlog.000037-rw-rw---- 1 mysql mysql694690 Jun 18 16:44 binlog.000038-rw-rw---- 1 mysql mysql4366694 Jun 18 18:28 binlog.000039-rw-rw---- 1 mysql mysql 192837775 Jun 21 13:28 binlog.000040-rw-rw---- 1 mysql mysql 26720306 Jun 21 13:50 binlog.000041-rw-rw---- 1 mysql mysql 1073741956 Jun 21 14:56 binlog.000042-rw-rw---- 1 mysql mysql 1073742382 Jun 21 15:39 binlog.000043-rw-rw---- 1 mysql mysql 1073755643 Jun 21 17:41 binlog.000044-rw-rw---- 1 mysql mysql 1073745037 Jun 22 18:30 binlog.000045-rw-rw---- 1 mysql mysql 1073745820 Jun 23 17:16 binlog.000046-rw-rw---- 1 mysql mysql 768790035 Jun 24 12:30 binlog.000047-rw-rw---- 1 mysql mysql 1073742672 Jun 24 15:11 binlog.000048-rw-rw---- 1 mysql mysql 1073751254 Jun 24 16:20 binlog.000049-rw-rw---- 1 mysql mysql 1073743150 Jun 24 17:38 binlog.000050-rw-rw---- 1 mysql mysql 1073745450 Jun 24 19:03 binlog.000051-rw-rw---- 1 mysql mysql 1073742107 Jun 24 20:30 binlog.000052-rw-rw---- 1 mysql mysql 1073743107 Jun 24 22:33 binlog.000053-rw-rw---- 1 mysql mysql 1073745069 Jun 25 01:35 binlog.000054-rw-rw---- 1 mysql mysql 1073757980 Jun 25 09:13 binlog.000055-rw-rw---- 1 mysql mysql 1073750646 Jun 25 13:43 binlog.000056-rw-rw---- 1 mysql mysql 1073749126 Jun 25 20:09 binlog.000057-rw-rw---- 1 mysql mysql 332813390 Jun 25 22:22 binlog.000058-rw-rw---- 1 mysql mysql2106 Jun 25 20:09 binlog.indexmysql> show binary logs; 查看mysql bin-log日志,除了这个以外的,其它都可以使用删除。mysql> purge binary logs to 'binlog.000058'; (删除mysql bin-log日志,删除binlog.000005之前的,不包括binlog.000058)进入数据库,查看一下当前使用的binlog日志是哪个,除了这个以外的,其它都可以使用rm -rf 删除!mysql> show binary logs; 查看mysql bin-log日志,除了这个以外的,其它都可以使用删除。mysql> purge binary logs to 'binlog.000058'; (删除mysql bin-log日志,删除binlog.000005之前的,不包括binlog.000058)进入数据库,查看一下当前使用的binlog日志是哪个,除了这个以外的,其它都可以使用rm -rf 删除!
如何清理或者删除MSSQL数据库日志文件?
第一步:
先备份整个数据库以备不测
第二步:
备份结束后,在Query Analyzer中执行如下的语句:
exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息
第三步:
到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录
第四步:
在Query Analyzer中执行如下的语句:
exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
如何清理或者删除MSSQL数据库日志文件?
第一步:
先备份整个数据库以备不测
第二步:
备份结束后,在Query Analyzer中执行如下的语句:
exec sp_detach_db yourDBName,true --卸除这个DB在MSSQL中的注册信息
第三步:
到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录
第四步:
在Query Analyzer中执行如下的语句:
exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。
如何清理数据库中没用的log文件
1. 进入sql数据库,随便找一个文件,鼠标右键,选择属性
2. 点击“选项”,在恢复模式中选择“简单”,点击确定
3. 选择要清理的文件,点鼠标右键→任务→收缩→文件
4. 在文件组中选择“日志”,会看到下面可用空间,如果百分比较多,则更适合压缩
注意:在压缩之前最好看一下
5. C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA找一些比较大的log文件进行压缩。
6. 5.完成以上操作之后,应重新启动SharePoint,重新启动SQL Sever如果想要关闭二进制mysql日志,可以在my.ini里把log-bin这行注释掉
要清二进制日志的话,在mysql开启了二进制日志的状态下,以root身份登录mysql以后执行下面两个命令之一:
purge master logs before '2020-1-1';清除指定日期之前的二进制日志
purge master logs to 'mysql-bin.010';清除指定文件编号之前的二进制日志
注意,如果没运行命令而是直接删除mysql-bin.xxx文件的话,mysql-bin.index里仍然记录了日志文件列表,这样以后再清日志时,就会因找不到列表中的日志文件而无法清理mysql日志
可以用bin目录中的mysqlbinlog.exe查看mysql二进制日志。
c:\>mysqlbinlog mysql-bin.000001
如果my.ini中设置了字符集的话,可能会出现这以下这样的报错
mysqlbinlog: unknown variable 'default-character-set=gbk'
带上--no-defaults参数后即可解决
c:\>mysqlbinlog --no-defaults mysql-bin.000001
如果是要清理*.err日志的话,直接停止mysql数据库,将这个文件剪切走或者删除,重启mysql生成一个新的即可。
.err文件中实际是以文本方式保存的错误提示,可以直接用记事本打开查看。
怎么样安全删除mysql下的binlog日志
最近发现mysql的binlog目录下的日志太多了,磁盘空间被占满了,导致网站访问不了。
-rw-rw---- 1 mysql mysql 1073742161 May 31 20:51 binlog.000021
-rw-rw---- 1 mysql mysql 1073742892 May 31 22:41 binlog.000022
-rw-rw---- 1 mysql mysql 1073741876 Jun 1 00:30 binlog.000023
-rw-rw---- 1 mysql mysql 1073741892 Jun 1 02:19 binlog.000024
-rw-rw---- 1 mysql mysql 1073742650 Jun 1 04:08 binlog.000025
-rw-rw---- 1 mysql mysql 1073742008 Jun 1 05:57 binlog.000026
-rw-rw---- 1 mysql mysql 1073743194 Jun 1 07:46 binlog.000027
-rw-rw---- 1 mysql mysql 1073743161 Jun 1 09:34 binlog.000028
-rw-rw---- 1 mysql mysql 1073741891 Jun 1 11:23 binlog.000029
-rw-rw---- 1 mysql mysql 1073742841 Jun 1 13:11 binlog.000030
-rw-rw---- 1 mysql mysql 1073744077 Jun 1 15:00 binlog.000031
-rw-rw---- 1 mysql mysql 1073744098 Jun 1 16:49 binlog.000032
-rw-rw---- 1 mysql mysql 1073743330 Jun 1 18:38 binlog.000033
-rw-rw---- 1 mysql mysql 1073746020 Jun 14 16:20 binlog.000034
-rw-rw---- 1 mysql mysql 1073743436 Jun 15 19:26 binlog.000035
-rw-rw---- 1 mysql mysql 247808012 Jun 18 11:25 binlog.000036
-rw-rw---- 1 mysql mysql20455501 Jun 18 16:11 binlog.000037
-rw-rw---- 1 mysql mysql694690 Jun 18 16:44 binlog.000038
-rw-rw---- 1 mysql mysql4366694 Jun 18 18:28 binlog.000039
-rw-rw---- 1 mysql mysql 192837775 Jun 21 13:28 binlog.000040
-rw-rw---- 1 mysql mysql26720306 Jun 21 13:50 binlog.000041
-rw-rw---- 1 mysql mysql 1073741956 Jun 21 14:56 binlog.000042
-rw-rw---- 1 mysql mysql 1073742382 Jun 21 15:39 binlog.000043
-rw-rw---- 1 mysql mysql 1073755643 Jun 21 17:41 binlog.000044
-rw-rw---- 1 mysql mysql 1073745037 Jun 22 18:30 binlog.000045
-rw-rw---- 1 mysql mysql 1073745820 Jun 23 17:16 binlog.000046
-rw-rw---- 1 mysql mysql 768790035 Jun 24 12:30 binlog.000047
-rw-rw---- 1 mysql mysql 1073742672 Jun 24 15:11 binlog.000048
-rw-rw---- 1 mysql mysql 1073751254 Jun 24 16:20 binlog.000049
-rw-rw---- 1 mysql mysql 1073743150 Jun 24 17:38 binlog.000050
-rw-rw---- 1 mysql mysql 1073745450 Jun 24 19:03 binlog.000051
-rw-rw---- 1 mysql mysql 1073742107 Jun 24 20:30 binlog.000052
-rw-rw---- 1 mysql mysql 1073743107 Jun 24 22:33 binlog.000053
-rw-rw---- 1 mysql mysql 1073745069 Jun 25 01:35 binlog.000054
-rw-rw---- 1 mysql mysql 1073757980 Jun 25 09:13 binlog.000055
-rw-rw---- 1 mysql mysql 1073750646 Jun 25 13:43 binlog.000056
-rw-rw---- 1 mysql mysql 1073749126 Jun 25 20:09 binlog.000057
-rw-rw---- 1 mysql mysql 332813390 Jun 25 22:22 binlog.000058
-rw-rw---- 1 mysql mysql2106 Jun 25 20:09 binlog.index
解决方法如下:
第一种方法:
mysql> show binary logs; 查看mysql bin-log日志,除了这个以外的,其它都可以使用删除。
mysql> purge binary logs to 'binlog.000058'; (删除mysql bin-log日志,删除binlog.000005之前的,不包括binlog.000058)
第二种方法:
进入数据库,查看一下当前使用的binlog日志是哪个,除了这个以外的,其它都可以使用rm -rf 删除!(1): 执行“reset master;”命令,该命令将删除所有二进制日志,新日志的编号从“000001”开始,命令如下 mysql>reset master; (2): 执行“purge master logs to ‘mysql-bin.*****’”命令,该命令将删除“*****”编号之前的所有日志,下列中删除了“mysql-bin之前编号的所有日志 mysql>purge master logs to ‘mysql-bin.000015; 从结果中发现,编号000015之前的所有日志都已经删除 (3): 执行“purge master logs before ‘yyyy-mm-dd hh24:min:ss’”命令,该命令将删除日期为“yyyy-mm-dd hh24:mi:ss”之前产生的所有日志,下列中删除了日期在“2010-05-22 01:00:之前的所有日志 mysql>purge master logs before ‘ 01:00:’; (4): 设置参数—expire_logs_days=#(days),此参数的含义是设置日志的过期天数,过来指定的天数后日志将会被自动删除,这样将有利于减少dba管理日志的工作量。 #vi /etc/my.cnf [mysqld] --expire_logs_days=3 这样,3天前的日志都会被删除,系统自动删除

举报

相关推荐

0 条评论