<?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>深度VPS &#187; 恢复</title>
	<atom:link href="http://www.deepvps.com/tag/%E6%81%A2%E5%A4%8D/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mysql二进制日志文件恢复数据库</title>
		<link>http://www.deepvps.com/restore-mysql-via-binary-log.html</link>
		<comments>http://www.deepvps.com/restore-mysql-via-binary-log.html#comments</comments>
		<pubDate>Sun, 15 Jan 2012 11:14:46 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[网络杂谈]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[二进制]]></category>
		<category><![CDATA[恢复]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[日志]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=988</guid>
		<description><![CDATA[二进制日志的文件的作用
mysql二进制日志文件用来记录所有用户对数据库操作，即记录用户对数据库操作的sql语句。如果有此文件，当数据库发生意外时，可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作，再和数据库备份配合使用，即可再现用户操作，使数据库恢复。
二进制日志文件的弊端
二进制日志文件开启后，所有对数据库操作的记录均会被记录到此文件，
所以，当长时间开启之后，日志文件会变得很大，占用磁盘空间。
使用二进制日志文件恢复数据库
开启日志文件
mysql默认是不开启日志文件的功能的，需要我们手动开启。操作如下：
1、  打开mysql安装目录my.ini（windows系统是my.ini文件，linux是my.cnf文件）。
2、  找到[mysqld]这个标签，在此标签下面一行，添加语句：log-bin=binary-log。上面语句中，log-bin说明要开启二进制日志文件，binary-log是二进制日志文件的名字。
(测试的时候我设置的：log-bin=d:/mysql_log/logbin_ouyang.log)
3、  重启mysql服务。可以在mysql安装目录data 文件夹下看到“binary-log.数字编号”文件，
   如binary-log.000001。以后每重启一次mysql服务，都会重新生成二进制日志文件，
   文件名中的数字编号依次递增。
(你的上一步给出的文件名，加了个序号 还有一个总的文件 index文件 如图1：)

恢复数据库
使用日志文件恢复数据库必须要有一个数据库备份（只要是在二进制日志文件功能开启之后备份的就行）。恢复数据库时，可以通过时间恢复，也可以通过操作点恢复。
1、通过时间恢复方法如下：
如果我在2011-04-02 00:00:00时刻开启了二进制日志文件功能，并备份了数据库文件。且在2011-04-02 12:00:00数据库发生异常，需要恢复到2011-04-02 10:00:00。则操作如下：

用备份将数据库回复到2011-04-02 00:00:00时候的状态。
在命令行输入如下命令：

mysqlbinlog &#8211;stop-date=&#8221;你想要恢复的时间&#8221;   日志文件的目录binary-log.000001  &#124; mysql -u root –p
 (D:mysql_log&#62;mysqlbinlog logbin_ouyang.000007 &#8211;stop-date=&#8221;2011-10-23 15:05:00&#8243;&#124;mysql -uroot -proot)
这样，系统会自动执行从二进制日志有记录开始截止到2011-04-02 10:00:00，用户所做过的所有操作。与stop-date对应的，还有start-date属性，可以设定执行记录的开始时间。也可以两个属性都设置。
2、通过操作点恢复方法如下：
在命令行中输入mysqlbinlog D:binary-log.000003 &#62; D:log.txt，执行后打开log.txt，
查看里面语句，可以发现：在每个操作之前，都会有一个独特的编号，如下红字显示：
/*!*/;
# at 450 /*编号450*/
#110402 15:31:50 server id 1  end_log_pos 529          Query       thread_id=2     exec_time=0    error_code=0
SET TIMESTAMP=1301729510/*!*/;
DROP TABLE `jwc`
此编号随着操作数增多而变大。和时间一样是一个标记，通过操作点恢复的语句如下：
mysqlbinlog &#8211;stop-position=&#8221;450&#8243; mysql安装目录databinary-log.000001  &#124; mysql -u root –p
这样，系统会自动执行二进制日志中编号最低的语句到编号450语句。
与stop-position对应的，还有start-position属性，可以设定执行记录的开始编号。
附：（你应该看看）
1.0       mysqlbinlog 是mysql自带的一个日志操作工具！
2.0       如果直接打开log文件 [...]]]></description>
			<content:encoded><![CDATA[<h3>二进制日志的文件的作用</h3>
<p>mysql二进制日志文件用来记录所有用户对数据库操作，即记录用户对数据库操作的sql语句。如果有此文件，当数据库发生意外时，可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作，再和数据库备份配合使用，即可再现用户操作，使数据库恢复。</p>
<h3>二进制日志文件的弊端</h3>
<p>二进制日志文件开启后，所有对数据库操作的记录均会被记录到此文件，</p>
<p>所以，当长时间开启之后，日志文件会变得很大，占用磁盘空间。<span id="more-988"></span></p>
<h3>使用二进制日志文件恢复数据库</h3>
<h3>开启日志文件</h3>
<p>mysql默认是不开启日志文件的功能的，需要我们手动开启。操作如下：</p>
<p>1、  打开mysql安装目录my.ini（windows系统是my.ini文件，linux是my.cnf文件）。</p>
<p>2、  找到[mysqld]这个标签，在此标签下面一行，添加语句：log-bin=binary-log。上面语句中，log-bin说明要开启二进制日志文件，binary-log是二进制日志文件的名字。</p>
<p>(测试的时候我设置的：log-bin=d:/mysql_log/logbin_ouyang.log)</p>
<p>3、  重启mysql服务。可以在mysql安装目录data 文件夹下看到“binary-log.数字编号”文件，</p>
<p>   如binary-log.000001。以后每重启一次mysql服务，都会重新生成二进制日志文件，</p>
<p>   文件名中的数字编号依次递增。</p>
<p>(你的上一步给出的文件名，加了个序号 还有一个总的文件 index文件 如图1：)</p>
<p><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2012/01/1914520hi.jpg" alt="" width="687" height="502" /></p>
<h3>恢复数据库</h3>
<p>使用日志文件恢复数据库必须要有一个数据库备份（只要是在二进制日志文件功能开启之后备份的就行）。恢复数据库时，可以通过时间恢复，也可以通过操作点恢复。</p>
<p>1、通过时间恢复方法如下：</p>
<p>如果我在2011-04-02 00:00:00时刻开启了二进制日志文件功能，并备份了数据库文件。且在2011-04-02 12:00:00数据库发生异常，需要恢复到2011-04-02 10:00:00。则操作如下：</p>
<ul>
<li>用备份将数据库回复到2011-04-02 00:00:00时候的状态。</li>
<li>在命令行输入如下命令：</li>
</ul>
<blockquote><p>mysqlbinlog &#8211;stop-date=&#8221;你想要恢复的时间&#8221;   日志文件的目录binary-log.000001  | mysql -u root –p</p>
<p> (D:mysql_log&gt;mysqlbinlog logbin_ouyang.000007 &#8211;stop-date=&#8221;2011-10-23 15:05:00&#8243;|mysql -uroot -proot)</p></blockquote>
<p>这样，系统会自动执行从二进制日志有记录开始截止到2011-04-02 10:00:00，用户所做过的所有操作。与stop-date对应的，还有start-date属性，可以设定执行记录的开始时间。也可以两个属性都设置。</p>
<p>2、通过操作点恢复方法如下：</p>
<p>在命令行中输入mysqlbinlog D:binary-log.000003 &gt; D:log.txt，执行后打开log.txt，</p>
<p>查看里面语句，可以发现：在每个操作之前，都会有一个独特的编号，如下红字显示：</p>
<blockquote><p>/*!*/;</p>
<p># at 450 /*编号450*/</p>
<p>#110402 15:31:50 server id 1  end_log_pos 529          Query       thread_id=2     exec_time=0    error_code=0</p>
<p>SET TIMESTAMP=1301729510/*!*/;</p>
<p>DROP TABLE `jwc`</p></blockquote>
<p>此编号随着操作数增多而变大。和时间一样是一个标记，通过操作点恢复的语句如下：</p>
<blockquote><p>mysqlbinlog &#8211;stop-position=&#8221;450&#8243; mysql安装目录databinary-log.000001  | mysql -u root –p</p></blockquote>
<p>这样，系统会自动执行二进制日志中编号最低的语句到编号<span style="color: #ff0000;">450</span>语句。</p>
<p>与<span style="color: #ff0000;">stop-position</span>对应的，还有<span style="color: #ff0000;">start-position</span>属性，可以设定执行记录的开始编号。</p>
<p>附：（你应该看看）</p>
<p>1.0       mysqlbinlog 是mysql自带的一个日志操作工具！</p>
<p>2.0       如果直接打开log文件 可能会是乱码，所以我们一般会：</p>
<p>      D:mysql_log&gt;mysqlbinlog logbin_ouyang.000003 &gt;log_3.txt  复制下 然后用记事本打开！</p>
<p>   就可以清楚的看到 操作的编号了 或者说（行号）</p>
<p>3.0       如果发生了错误的操作！如果可以的话！你应该立马停止数据库！然后恢复数据！</p>
<p>4.0       如果只是去掉某一个语句，你可以选择恢复两次 ，如图：</p>
<p><img title="点击查看原始大小图片" src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2012/01/191454gND.jpg" alt="" width="700" height="236" /></p>
<blockquote><p>D:mysql_log&gt;mysqlbinlog logbin_ouyang.000009 &#8211;stop-position=10625|mysql -uroot</p>
<p> -proot</p>
<p>D:mysql_log&gt;mysqlbinlog logbin_ouyang.000009 &#8211;start-position=10843|mysql -uroo</p>
<p>t –proot</p></blockquote>
<p>5.0 如果发生 Could not read entry at offset 1478: Error in log format or read error. 类似的错误！</p>
<p>请检查你的编号是否正确！注意这个编号 不是一些编辑器显示的那个行号哦，# at 450 /</p>
<p>经常delete 、update错了！所以给自己个文档！当然我也希望你永远的用不上这个文档 ! 周末愉快! （排版有的乱哈！多多包涵！）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/restore-mysql-via-binary-log.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL数据库备份与恢复</title>
		<link>http://www.deepvps.com/mysql-backup-and-restore.html</link>
		<comments>http://www.deepvps.com/mysql-backup-and-restore.html#comments</comments>
		<pubDate>Wed, 15 Sep 2010 15:27:21 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[备份]]></category>
		<category><![CDATA[帝国备份王]]></category>
		<category><![CDATA[恢复]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=558</guid>
		<description><![CDATA[网站数据对我们对站长来说都是最宝贵的，我们平时应该养成良好的备份数据的习惯。常有新手问我该怎么备份数据库，下面介绍3种备份数据库的方法：
（1）备份数据库文件
MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。
在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL的安装路径而定，DiaHosting的技术员一般为客户安装在D:serversoftmysql下。
如，有一个名为bbs的数据库，那么bbs的数据库文件会存放在/var/lib/mysql/bbs(linux)或者D:serversoftmysqlbbs(Windows)下。

备份文件前，需要将MySQL服务停止，然后将数据库目录拷贝即可。
恢复数据数据库时，需要先创建好一个数据库（不一定同名），然后将备份出来的文件（注意，不是目录）复制到对应的MySQL数据库目录中。
使用这一方法备份和恢复数据库时，需要新旧的MySQL版本一致，否则可能会出现错误。
（2）使用命令行工具
备份数据库：
mysqldump &#8211;user=root &#8211;password=root密码 &#8211;lock-all-tables 数据库名 &#62; 备份文件.sql
恢复数据库：
mysql -u root &#8211;password=root密码 数据库名 &#60; 备份文件.sql
（3）使用Web程序
在这里我们推荐使用“帝国备份王”对MySQL进行备份。
主要优点：
1，跨平台。Windows与Linux下各种WEB环境均可以运行。
2，智能识别编码，解决备份时的乱码问题。
3，不同的MySQL版本间都可以进行备份和恢复操作。
4，采用分组备份，即使是超过1G的数据库也可以正常备份。
登录“帝国备份王”
用户名：admin
默认密码：123456

第一次登录时程序会自动跳转到数据库的设置页面。

安全起见，一定要修改默认的登录密码。



备份数据库







恢复数据库


如果是在其他机器上恢复，需要将“帝国备份王”的程序以及bdata目录下存放备份数据的目录一起上传至新的机器上。




]]></description>
			<content:encoded><![CDATA[<p>网站数据对我们对站长来说都是最宝贵的，我们平时应该养成良好的备份数据的习惯。常有新手问我该怎么备份数据库，下面介绍3种备份数据库的方法：</p>
<h5>（1）备份数据库文件</h5>
<p>MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。<br />
在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL的安装路径而定，DiaHosting的技术员一般为客户安装在D:serversoftmysql下。<br />
如，有一个名为bbs的数据库，那么bbs的数据库文件会存放在/var/lib/mysql/bbs(linux)或者D:serversoftmysqlbbs(Windows)下。</p>
<p><span id="more-558"></span><br />
备份文件前，需要<strong>将MySQL服务停止</strong>，然后将数据库目录拷贝即可。<br />
恢复数据数据库时，需要先创建好一个数据库（不一定同名），然后将备份出来的文件（注意，不是目录）复制到对应的MySQL数据库目录中。<br />
使用这一方法备份和恢复数据库时，需要新旧的MySQL版本一致，否则可能会出现错误。</p>
<h5>（2）使用命令行工具</h5>
<p>备份数据库：</p>
<blockquote><p>mysqldump &#8211;user=root &#8211;password=root密码 &#8211;lock-all-tables 数据库名 &gt; 备份文件.sql</p></blockquote>
<p>恢复数据库：</p>
<blockquote><p>mysql -u root &#8211;password=root密码 数据库名 &lt; 备份文件.sql</p></blockquote>
<p>（3）使用Web程序<br />
在这里我们推荐使用“帝国备份王”对MySQL进行备份。<br />
主要优点：<br />
1，跨平台。Windows与Linux下各种WEB环境均可以运行。<br />
2，智能识别编码，解决备份时的乱码问题。<br />
3，不同的MySQL版本间都可以进行备份和恢复操作。<br />
4，采用分组备份，即使是超过1G的数据库也可以正常备份。</p>
<p>登录“帝国备份王”</p>
<p>用户名：admin<br />
默认密码：123456<br />
<a title="others:ebak_010.png" href="http://hostwiki.info/_detail/others/ebak_010.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/152838Vwu.jpg" alt="" width="640" /></a></p>
<p>第一次登录时程序会自动跳转到数据库的设置页面。<br />
<a title="others:ebak_020.png" href="http://hostwiki.info/_detail/others/ebak_020.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/2328385eP.jpg" alt="" width="640" /></a></p>
<p>安全起见，一定要修改默认的登录密码。<br />
<a title="others:ebak_025.png" href="http://hostwiki.info/_detail/others/ebak_025.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232838NV3.jpg" alt="" width="640" /></a></p>
<ul>
<li>
<div><strong>备份数据库</strong></div>
</li>
</ul>
<p><a title="others:ebak_030.png" href="http://hostwiki.info/_detail/others/ebak_030.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232839BSw.jpg" alt="" width="640" /></a></p>
<p><a title="others:ebak_040.png" href="http://hostwiki.info/_detail/others/ebak_040.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232839pue.jpg" alt="" width="640" /></a></p>
<p><a title="others:ebak_050.png" href="http://hostwiki.info/_detail/others/ebak_050.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232839B9W.jpg" alt="" width="640" /></a></p>
<ul>
<li>
<div><strong>恢复数据库</strong></div>
</li>
</ul>
<p>如果是在其他机器上恢复，需要将“帝国备份王”的程序以及bdata目录下存放备份数据的目录一起上传至新的机器上。</p>
<p><a title="others:ebak_060.png" href="http://hostwiki.info/_detail/others/ebak_060.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232839i6s.jpg" alt="" width="640" /></a></p>
<p><a title="others:ebak_070.png" href="http://hostwiki.info/_detail/others/ebak_070.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232839JhG.jpg" alt="" width="640" /></a></p>
<p><a title="others:ebak_080.png" href="http://hostwiki.info/_detail/others/ebak_080.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232840vUJ.jpg" alt="" width="640" /></a></p>
<p><a title="others:ebak_090.png" href="http://hostwiki.info/_detail/others/ebak_090.png?id=others%3Amysql_backup" target="_blank"><img src="http://www.deepvps.com/wp-content/uploads/auto_save_image/2010/09/232840H6J.jpg" alt="" width="640" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/mysql-backup-and-restore.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
