正确的删除MySQL log bin 日志的操作步骤

正确的删除MySQL log bin 日志操作如下

1.SHOW MASTER LOGS;

2.RESET MASTER;

3.service mysql stop 

4.关闭4个参数。

#log-bin=mysql-bin

#log-slow-queries=slowquery.log

#long_query_time=3

#binlog_format=mixed

5.service mysql start

删除前

-rw-rw---- 1 mysql mysql 154M Aug  5 20:55 mysql-bin.000003

-rw-rw---- 1 mysql mysql 307M Aug  5 20:46 mysql-bin.000002

-rw-rw---- 1 mysql mysql  608 Aug  5 20:45 slowquery.log

-rw-rw---- 1 mysql mysql  65K Aug  5 20:33 mysql-bin.000001

RESET MASTER; 后

-rw-rw---- 1 mysql mysql  106 Aug  5 21:17 mysql-bin.000001  <--只有一个文件了^^

-rw-rw---- 1 mysql mysql  608 Aug  5 20:45 slowquery.log

=============================================

[保留] mysql bin日志文件清除sh

#!/bin/sh

## 2007-11-6

DELLOG="/usr/local/logs/del-sqlbin.log.`date +%d`"

DELTMP="/usr/local/logs/del-sqlbin.tmp"

MAIL_ADDR="xxx@xxx.xx"

exec &>$DELLOG

DT=`date +'%Y-%m-%d %T'`

SINGLE=0

sleep 30

hostname

echo `date +'%Y-%m-%d %T'`

echo "EXEC>>"

echo "PURGE MASTER LOGS BEFORE '$DT';"

echo "PURGE MASTER LOGS BEFORE '$DT';" >$DELTMP

mysql -uroot -pxxx <$DELTMP

if [ $? = 0 ];then

echo "Purge master logs sucess!"

else

echo "Purge master logs failure!"

SINGLE=1

fi

echo "--------------------------------"

echo

if [ $SINGLE = 1 ];then

mail -s "Purge_master_logs_err" $MAIL_ADDR <$DELLOG

fi

==============================================================

想把自己所有的数据打个包,结果才发现,原来我的目录居然有30多G,把曾给卖给别人的空间中的19G数据清除后,发现还有12G的软件数据,惊讶的要死,去看了一下,用的是懒宝宝的告诉我的命令:du -sh /xxxxx/

发现mysql/data下的数据居然有12G,想着怎么也不可能会有这么大的数据啊?仔细一看,原来这12G全是log文件。找了一些资料,才把这个log清除掉。。

方法如下:

第一种技巧:

XML/HTML代码

1. 1 查询musql-bin,mysql操作日志 

2. mysql> show master logs; 

3. 

4. 2 删除,保留最新 

5. mysql>purge master logs to 'mysql-bin.00001';  <-----用这个删除不掉!!!!。。

6. 

7. 3 my.cnf中去掉log-bin就可不让生成这些日志文件了。 

第二种技巧:

XML/HTML代码

1. 清理mysql的日志文件 

2. 发现var/db/mysql目录下有这么多 

3. mysql-bin.000001 

4. … 

5. mysql-bin.000023 

6. mysql-bin.index 

7. 而且比较大 

8. 

9. 数据库的操作日志 

10. mysql> reset master;  <-----用这个可以删除掉。重启后只有'mysql-bin.00001' 一个文件鸟^_^。。

11. 可以清理这些文件。 

这两种情况都可以,比较偏 向于第一种,但我是因为要备份就直接用的第二种了。反正数据也没有出错过,资料来自于:http://www.tech-q.cn/thread-3198-1-1.html

=================

如何清除mysql的mysql-bin日志

1查询musql-bin,mysql操作日志

mysql> show master logs;

2删除,保留最新

mysql>purge master logs to 'mysql-bin.00001';

3my.cnf中去掉log-bin就可不让生成这些日志文件了。

=========================

也没啥用就干掉吧

数据库的操作日志

mysql-bin.000001

mysql-bin.000002

mysql-bin.000003

等等好多日志文件都10多G了我mysql总数据库加起来都不到1G

这些可以清理掉的。

输入mysql -u root -p然后输入密码

成功进去后输入reset master;记得这个;啊!

mysql> reset master;

Query OK, 0 rows affected, 1 warning (0.20 sec)

就可以清空mysql日志了,世界都清爽了...

如果不想mysql记录日志可以在my.ini中关闭掉

找到my.ini打开它 找到log-bin=mysql-bin然后注释掉就可以了

#log-bin=mysql-bin

==============

mysql二进制日志文件恢复记录和清除二进制日志文件

在5.11.3节,“二进制日志”中详细讨论了二进制日志。

要想检查这些文本格式的文件,应使用mysqlbinlog实用工具。调用方法:

shell> mysqlbinlog [options] log-files...

mysqlbinlog支持下面的选项:

·        ---help,-?

显示帮助消息并退出。

·        ---database=db_name,-d db_name

只列出该数据库的条目(只用本地日志)。

·        --force-read,-f

使用该选项,如果mysqlbinlog读它不能识别的二进制日志事件,它会打印警告,忽略该事件并继续。没有该选项,如果mysqlbinlog读到此类事件则停止。

·        --hexdump,-H

在注释中显示日志的十六进制转储。该输出可以帮助复制过程中的调试。在MySQL 5.1.2中添加了该选项。

·        --host=host_name,-h host_name

获取给定主机上的MySQL服务器的二进制日志。

·        --local-load=path,-l pat

为指定目录中的LOAD DATA INFILE预处理本地临时文件。

·        --offset=N,-o N

跳过前N个条目。

·        --password[=password],-p[password]

当连接服务器时使用的密码。如果使用短选项形式(-p),选项和 密码之间不能有空格。如果在命令行中--password或-p选项后面没有 密码值,则提示输入一个密码。

·        --port=port_num,-P port_num

用于连接远程服务器的TCP/IP端口号。

·        --position=N,-j N

不赞成使用,应使用--start-position。

·        --protocol={TCP | SOCKET | PIPE | -position

使用的连接协议。

·        --read-from-remote-server,-R

从MySQL服务器读二进制日志。如果未给出该选项,任何连接参数选项将被忽略。这些选项是--host、--password、--port、--protocol、--socket和--user。

·        --result-file=name, -r name

将输出指向给定的文件。

·        --short-form,-s

只显示日志中包含的语句,不显示其它信息。

·        --socket=path,-S path

用于连接的套接字文件。

·        --start-datetime=datetime

从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。datetime值相对于运行mysqlbinlog的机器上的本地时区。该值格式应符合DATETIME或TIMESTAMP数据类型。例如:

shell> mysqlbinlog --start-datetime="2004-12-25 11:25:56" binlog.000003

该选项可以帮助点对点恢复。

·        --stop-datetime=datetime

从二进制日志中第1个日期时间等于或晚于datetime参量的事件起停止读。关于datetime值的描述参见--start-datetime选项。该选项可以帮助及时恢复。

·        --start-position=N

从二进制日志中第1个位置等于N参量时的事件开始读。

·        --stop-position=N

从二进制日志中第1个位置等于和大于N参量时的事件起停止读。

·        --to-last-logs,-t

在MySQL服务器中请求的二进制日志的结尾处不停止,而是继续打印直到最后一个二进制日志的结尾。如果将输出发送给同一台MySQL服务器,会导致无限循环。该选项要求--read-from-remote-server。

·        --disable-logs-bin,-D

禁用二进制日志。如果使用--to-last-logs选项将输出发送给同一台MySQL服务器,可以避免无限循环。该选项在崩溃恢复时也很有用,可以避免复制已经记录的语句。注释:该选项要求有SUPER权限。

·        --user=user_name,-u user_name

连接远程服务器时使用的MySQL用户名。

·        --version,-V

显示版本信息并退出。

还可以使用--var_name=value选项设置下面的变量:

·        open_files_limit

指定要保留的打开的文件描述符的数量。

举例:当只是需要恢复部分记录的时候,可以使用时间点或位置点来定位

shell> mysqlbinlog --start-date="2009-04-20 9:01:00" --stop-date="2009-04-20 10:00:01" mysql-bin.000001 | mysql -uUser -pUserPWD

shell> mysqlbinlog --start-position="368301" --stop-position="368312" mysql-bin.000001 | mysql -uUser -pUserPWD

如果MySQL服务器上有多个要执行的二进制日志,安全的方法是在一个连接中处理它们。原因:假设第1个日志文件包含一个CREATE TEMPORARY TABLE语句,第2个日志文件包含一个使用该临时表的语句,则会造成问题。

恢复多个二进制日志文件的方法:

shell> mysqlbinlog hostname-bin.000001 hostname-bin.000002 | mysql -uUser -pUserPWD

shell> ls -t -r -1 hostname-bin* | xargs mysqlbinlog | mysql -uUser -pUserPWD

另一个方法:

shell> mysqlbinlog hostname-bin.000001 >  /tmp/statements.sql

shell> mysqlbinlog hostname-bin.000002 >> /tmp/statements.sql

shell> mysql -uUser -pUserPWD -e "source /tmp/statements.sql"

连接mysql服务器查看和删除二进制日志文件

查看二进制日志文件

mysql> SHOW BINLOG EVENTS \G;

mysql> SHOW MASTER LOGS;

清除二进制日志文件

mysql> PURGE { MASTER|BINARY } LOGS TO 'log_name';

mysql> PURGE { MASTER|BINARY } LOGS BEFORE 'datetime';

例如:

mysql> PURGE MASTER LOGS TO 'mysql-bin.000001';

mysql> PURGE MASTER LOGS BEFORE '2009-12-20 13:00:00';

另一种清除二进制日志方法

mysql > flush logs;

mysql > reset master;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容