<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>binlog &#8211; LPC影子技术分享</title>
	<atom:link href="https://www.mudbest.com/tag/binlog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mudbest.com</link>
	<description>行影不离,忘之却步.</description>
	<lastBuildDate>Sat, 08 Feb 2014 05:05:08 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.1</generator>
	<item>
		<title>由于binlog未及时清理导致硬盘爆满无法启动mysql</title>
		<link>https://www.mudbest.com/%e7%94%b1%e4%ba%8ebinlog%e6%9c%aa%e5%8f%8a%e6%97%b6%e6%b8%85%e7%90%86%e5%af%bc%e8%87%b4%e7%a1%ac%e7%9b%98%e7%88%86%e6%bb%a1%e6%97%a0%e6%b3%95%e5%90%af%e5%8a%a8mysql/</link>
		
		<dc:creator><![CDATA[hkshadow]]></dc:creator>
		<pubDate>Sat, 08 Feb 2014 05:04:38 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[binlog]]></category>
		<guid isPermaLink="false">http://www.mudbest.com/?p=2017</guid>

					<description><![CDATA[这几天由于太忙了，7天没有观察服务器了，今天用手机打开网站发现报mysql.sock丢失的错误，刚开始以为是m ... <a title="由于binlog未及时清理导致硬盘爆满无法启动mysql" class="read-more" href="https://www.mudbest.com/%e7%94%b1%e4%ba%8ebinlog%e6%9c%aa%e5%8f%8a%e6%97%b6%e6%b8%85%e7%90%86%e5%af%bc%e8%87%b4%e7%a1%ac%e7%9b%98%e7%88%86%e6%bb%a1%e6%97%a0%e6%b3%95%e5%90%af%e5%8a%a8mysql/" aria-label="阅读 由于binlog未及时清理导致硬盘爆满无法启动mysql">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p>这几天由于太忙了，7天没有观察服务器了，今天用手机打开网站发现报mysql.sock丢失的错误，刚开始以为是my.ini修改的原因，用df一看，/dev/xvda1的占用已经100%了，这样的情况还能启动mysql就真的逆天了。这时候想到了用sql删除binlog，但是根本进不去控制台，连安全模式都启动不了，以下是具体操作。<span id="more-2017"></span></p>
<p>分配了20G的硬盘，活生生的被binlog吃完了。</p>
<pre class="brush: sql; title: ; notranslate">
tail -f /opt/server/mysql/var/slyar.err
</pre>
<p>看了一下Mysql的错误日志，意外状况出现……</p>
<pre class="brush: sql; title: ; notranslate">
Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)
</pre>
<p>神奇的情况，居然是因为磁盘满了无法写入日志导致Mysql起不来。</p>
<pre class="brush: sql; title: ; notranslate">
root@hkshadow# df 
Filesystem 1K-blocks Used Available Use% Mounted on 
/dev/xvda1 20641404 20641404 0 100% / 
</pre>
<p>基本上就是被这些玩意占满了，查了一下Mysql手册发现这些东西也没啥用，直接删除(此操作最好在Mysql服务停止时进行，因为当前日志使用的话无法删除，而且有可能导致一些其它问题，不过用mysql>reset master命令可以直接清空日志)。</p>
<pre class="brush: sql; title: ; notranslate">/opt/server/mysql/var/
root@hkshadow# cd 
root@hkshadow# rm -f mysql-bin.*
</pre>
<p>如果一定要使用binlog又担心时间久了没及时清理的话，可以在my.ini里设置binlog过期时间。</p>
<pre class="brush: sql; title: ; notranslate">
expire_logs_days = 7
</pre>
<p>如果不需要binlog的话可以关闭掉，避免未来得及监控导致的系列问题。</p>
<pre class="brush: sql; title: ; notranslate">
vim /etc/my.cnf
</pre>
<p>注释掉下面2行</p>
<pre class="brush: sql; title: ; notranslate">
log-bin=mysql-bin
binlog_format=mixed
</pre>
<p>然后重启即可</p>
<pre class="brush: sql; title: ; notranslate">
/etc/init.d/mysqld restart
</pre>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
