<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 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/" version="2.0"><channel><fs:self_link href="http://feed.feedsky.com/NinGoo" type="application/rss+xml" /><lastBuildDate>Thu, 09 Jul 2009 14:29:54 GMT</lastBuildDate><title>NinGoo.net</title><description>Just a simple oracle and MySQL DBA</description><image><url>http://www.feedsky.com/feed/NinGoo/sc/gif</url><title>NinGoo.net</title><link>http://www.ningoo.net</link></image><link>http://www.ningoo.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Thu, 09 Jul 2009 14:40:42 GMT</pubDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/NinGoo" type="application/rss+xml" /><item><title>使用Perl发送邮件</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178182/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/sendmail_by_perl.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>在之前的监控系统中，邮件系统配置为只能本地调用mail命令发送，这样如果要在每台数据库服务上发送邮件就比较麻烦，需要通过ssh远程调用邮件服务器上的发送脚本。如果要发送文件，还要先将文件复制到邮件服务器上。</p>
<p>随着机器数量的增加，这种方式越来越不灵活。因此希望能通过传统的smtp的方式在任何主机上都能发送邮件，于是花了点时间研究了一下sendmail，根据<a href="http://blog.chinaunix.net/u/25840/showart_198069.html">这篇文章</a>很轻松的让sendmail跑了起来：</p>
<p>修改sendmail配置模板/etc/mail/sendmail.mc</p>
<pre>
define(QUEUE_DIR, `/var/spool/mqueue/q*')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS(`Port=25, Name=MTA')dnl

第一行是新增，支持多个队列
第二三行去掉注释
第四行加上注释
第五行新增
</pre>
<p>根据模板生成配置文件</p>
<pre>
m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
</pre>
<p>建立多个队列的目录</p>
<pre>
cd /var/spool/mqueue/
mkdir q1 q2 q3 q4 q5 q6
</pre>
<p>启动sendmail</p>
<pre>
/etc/rc.d/init.d/sendmail start
</pre>
<p>若要随机自启动sendmail，修改一下chkconfig设置即可</p>
<pre>
chkconfig --level 35 sendmail on
</pre>
<p>测试了一下发送邮件成功：</p>
<pre>
mail -s "test mail" NinGoo@test.com < /tmp/test.log
</pre>
<p>在<a href="http://search.cpan.org/">CPAN</a>上搜索了一下，Mail:Sender模块发送邮件比较方便，支持多附件，语法也比较简单。需要安装如下两个组件：</p>
<pre>
MIME::Base64
Mail::Sender
</pre>
<p>发送邮件的perl示例代码如下，为便于查看邮件发送的详细情况，这里开启了debug模式：</p>
<pre>
#!/usr/bin/perl -w
use Mail::Sender;
open my $DEBUG, ">> /tmp/mail.log" or die "Can't open the debug file: $!\n";
$sender = new Mail::Sender
 {smtp => 'smtp_server',
   from => 'send@mail.com'};
#发送普通邮件
$sender->MailMsg(
 {to => 'NinGoo@test.com',
 subject => 'test mail',
 msg => 'hello word',
 debug => $DEBUG
 });
#发送带附件的邮件
$sender->MailFile(
 {to => 'NinGoo@test.com',
 subject => 'test mail with attached file',
 msg => 'hello word',
 file => '/tmp/test.txt'
 debug => $DEBUG
 });
</pre>
<p>经过测试，在邮件服务器本机发送成功，但在远程主机上则失败了，通过debug的log文件，发现错误如下：</p>
<pre>
>> 550 5.7.1 < NinGoo@test.com>... Relaying denied. Proper authentication required.
</pre>
<p>因为是内部监控使用，可以配置远程发送到特定的域的邮件无须认证，修改/etc/mail/relay-domains文件，每行加入一个目标域，如taobao.com。</p>
<p>修改配置后注意重启sendmail</p>
<pre>
/etc/rc.d/init.d/sendmail restart
</pre>
<p>发送正常的log如下：</p>
<pre>
>> 250 2.0.0 n69DbJwt011946 Message accepted for delivery
</pre>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html" title="在Crontab中调度Perl程序的环境变量问题">在Crontab中调度Perl程序的环境变量问题</a></li><li><a href="http://www.ningoo.net/html/2008/how_mysql_get_current_running_sql_statements.html" title="MySQL如何获取当前执行的SQL">MySQL如何获取当前执行的SQL</a></li><li><a href="http://www.ningoo.net/html/2008/using_perl_monitor_database.html" title="用Perl的hash数组实现个性化监控">用Perl的hash数组实现个性化监控</a></li><li><a href="http://www.ningoo.net/html/2008/how_to_programming_perl_module.html" title="编写Perl模块">编写Perl模块</a></li><li><a href="http://www.ningoo.net/html/2008/install_perl_dbd_mysql_dirver.html" title="Redhat上安装Perl DBD::mysql驱动">Redhat上安装Perl DBD::mysql驱动</a></li><li><a href="http://www.ningoo.net/html/2008/install_perl_dbi_module.html" title="Redhat上安装Perl DBI模块">Redhat上安装Perl DBI模块</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/sendmail_by_perl.html'>http://www.ningoo.net/html/2009/sendmail_by_perl.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/sendmail_by_perl.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178182/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178182/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178182/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178182/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/DTQwIDxKRHHESr1VHR7Ky6sXRD4/0/da"><img src="http://feedads.g.doubleclick.net/~a/DTQwIDxKRHHESr1VHR7Ky6sXRD4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DTQwIDxKRHHESr1VHR7Ky6sXRD4/1/da"><img src="http://feedads.g.doubleclick.net/~a/DTQwIDxKRHHESr1VHR7Ky6sXRD4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/sendmail_by_perl.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net 在之前的监控系统中，邮件系统配置为只能本地调用mail命令发送，这样如果要在每台数据库服务上发送邮件就比较麻烦，需要通过ssh远程调用邮件服务器上的发送脚...&lt;img src="http://www1.feedsky.com/t1/243178182/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178182/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178182/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178182/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>sendmail</category><category>工具</category><category>perl</category><pubDate>Thu, 09 Jul 2009 22:29:54 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/sendmail_by_perl.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=763</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/sendmail_by_perl.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178182/1237504</fs:itemid></item><item><title>xtrabackup 0.8版发布</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178183/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/xtrabackup-08_released.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>前段时间开始测试xtrabackup 0.7的时候，在下载的地方已经看到有0.8的目录和源代码，只是各个平台的编译版本还没有，当时就猜0.8版本很快就要出来了。不过最近很少有时间看Google Reader，今天才发现其实7月1号0.8版就已经出来了，可以到<a href="http://www.percona.com/mysql/xtrabackup/0.8/">这里下载</a>。</p>
<p>看了一下新特性，没有特别让人心动的功能出来。innobackupex脚本开始支持增量备份（xtrabackup本身早已经支持）；开始支持archive引擎的备份；stream备份模式支持tar4ibd；增加了–export选项以支持InnoDB表在不同库之间移动（只能导入到XtraDB引擎，详细<a href="http://www.mysqlperformanceblog.com/2009/06/08/impossible-possible-moving-innodb-tables-between-servers/">参考这里</a>）；另外修复了一些bug。</p>
<p>更多介绍可以<a href="http://www.mysqlperformanceblog.com/2009/07/01/xtrabackup-08/">参考这里</a>。</p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html" title="使用Xtrabackup备份MySQL数据库(续)">使用Xtrabackup备份MySQL数据库(续)</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html" title="使用Xtrabackup备份MySQL数据库">使用Xtrabackup备份MySQL数据库</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/xtrabackup-08_released.html'>http://www.ningoo.net/html/2009/xtrabackup-08_released.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/xtrabackup-08_released.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178183/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178183/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178183/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178183/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/VWI1fegx2y74odoBbqiiMSk3UaA/0/da"><img src="http://feedads.g.doubleclick.net/~a/VWI1fegx2y74odoBbqiiMSk3UaA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/VWI1fegx2y74odoBbqiiMSk3UaA/1/da"><img src="http://feedads.g.doubleclick.net/~a/VWI1fegx2y74odoBbqiiMSk3UaA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/xtrabackup-08_released.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net 前段时间开始测试xtrabackup 0.7的时候，在下载的地方已经看到有0.8的目录和源代码，只是各个平台的编译版本还没有，当时就猜0.8版本很快就要出来了。不过最近很少...&lt;img src="http://www1.feedsky.com/t1/243178183/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178183/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178183/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178183/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>工具</category><category>xtrabackup</category><pubDate>Wed, 08 Jul 2009 21:17:41 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/xtrabackup-08_released.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=761</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/xtrabackup-08_released.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178183/1237504</fs:itemid></item><item><title>在Crontab中调度Perl程序的环境变量问题</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178184/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>在corntab中调度perl程序时，如何获取并设置环境变量是一大问题。在shell脚本中，我一般是通过直接调用~/.profile或者~/.bash_profile（视shell类型而定）来解决。而Perl中则没有一个现成的比较方便的方法。</p>
<p>老楼最近在一篇blog中给出了<a href="http://www.anysql.net/developer/perl-script-crontab-schedule.html">一种方法</a>，基本上能解决上述问题，但主要是针对ORACLE_HOME，其他的还需要再写一个差不多的函数，并且还需要配置文件，通用性不是太好。</p>
<p>我的办法是，直接利用.profile或者.bash_profile，在perl中循环将所有的环境变量一次性设置好。这个设置过程，我写成了一个函数放在公共模块中，只需要在脚本中包含该模块，然后调用一次该函数即可。因为要兼容Oracle和MySQL，按照我们的安装规范，Oracle安装用户为oracle，而MySQL数据库的安装用户为mysql，相应的脚本使用相应的用户。自动化是需要建立在规范之上的，下面是函数代码：</p>
<pre>
sub set_env{
  my $user=`whoami`;
  chomp($user);
  my $profile="/home/".$user."/.profile";
  if (! -e $profile ){
    $profile="/home/".$user."/.bash_profile"
  }
  open(NEWENV, ". $profile &#038;&#038; env|");
  while (<NEWENV>){
    if (/(\w+)=(.*)/){
      $ENV{$1}="$2";
    }
  }
  close NEWENV;
}
</pre>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/sendmail_by_perl.html" title="使用Perl发送邮件">使用Perl发送邮件</a></li><li><a href="http://www.ningoo.net/html/2008/how_mysql_get_current_running_sql_statements.html" title="MySQL如何获取当前执行的SQL">MySQL如何获取当前执行的SQL</a></li><li><a href="http://www.ningoo.net/html/2008/using_perl_monitor_database.html" title="用Perl的hash数组实现个性化监控">用Perl的hash数组实现个性化监控</a></li><li><a href="http://www.ningoo.net/html/2008/how_to_programming_perl_module.html" title="编写Perl模块">编写Perl模块</a></li><li><a href="http://www.ningoo.net/html/2008/install_perl_dbd_mysql_dirver.html" title="Redhat上安装Perl DBD::mysql驱动">Redhat上安装Perl DBD::mysql驱动</a></li><li><a href="http://www.ningoo.net/html/2008/install_perl_dbi_module.html" title="Redhat上安装Perl DBI模块">Redhat上安装Perl DBI模块</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html'>http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178184/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178184/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178184/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178184/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/bL0-7YHENqHnh7yRAosK73r2AAQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/bL0-7YHENqHnh7yRAosK73r2AAQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bL0-7YHENqHnh7yRAosK73r2AAQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/bL0-7YHENqHnh7yRAosK73r2AAQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net 在corntab中调度perl程序时，如何获取并设置环境变量是一大问题。在shell脚本中，我一般是通过直接调用~/.profile或者~/.bash_profile（视shell类型而定）来解决。而Perl中则...&lt;img src="http://www1.feedsky.com/t1/243178184/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178184/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178184/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178184/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>工具</category><category>crontab</category><category>perl</category><pubDate>Wed, 08 Jul 2009 13:55:28 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=756</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/set_env_for_perl_script_crontab_schedule.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178184/1237504</fs:itemid></item><item><title>使用Xtrabackup备份MySQL数据库(续)</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178185/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>在<a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html">上一篇</a>里，演示了使用xtrabackup对InnoDB进行在线物理热备，使用innobackupex脚本，可以很简单的一条命令行搞定InnoDB和MyISAM的物理备份。</p>
<p>本文则演示如何从xtrabackup的备份中进行恢复。本次恢复的是一个600GB大小的InnoDB数据库，备份的时候没有使用gzip压缩。</p>
<p>首先将备份好的tar文件解开到目标数据库的数据路径下，这一步类似oracle的restore database：</p>
<pre>
tar xvf mysqlbak.tar /opt/mysqldata
</pre>
<p>注意解出来的文件和目录的属主以及权限是否正确。如果是将备份恢复到一台全新的环境，则需要修改/etc/my.cnf，将innodb_data_file_path等参数设置和原备份的库一致。然后执行：</p>
<pre>
$innobackupex-1.5.1 --apply-log /opt/mysqldata
</pre>
<p>这一步类似于oracle的recover database，从日志来看，差不多一个小时执行完毕，该InnoDB数据库分配空间600GB，实际使用空间约590GB，并且数据的更新量还是比较大的，大约一个小时apply-log完成。运行的日志简单记录如下：</p>
<pre>
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

IMPORTANT: Please check that the apply-log run completes successfully.
           At the end of a successful apply-log run innobackup
           prints "innobackup completed OK!".

090708 09:50:44  innobackupex: Starting ibbackup with command:
xtrabackup --prepare --target-dir=/opt/mysqldata

xtrabackup  Ver rc-0.7 for 5.0.77 unknown-linux-gnu (x86_64)
xtrabackup: cd to /opt/mysqldata
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2882535424, start_lsn=(514 2288109039)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10000M;ibdata2:10000M;ibdata3:10000M...;ibdata60:10000M
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 1
xtrabackup:   innodb_log_file_size = 2882535424
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: Log scan progressed past the checkpoint lsn 514 2288109039
090708  9:50:45  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Doing recovery: scanned up to log sequence number 514 2293351424 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2298594304 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2303837184 (0 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2309080064 (0 %)
090708  9:50:47  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Doing recovery: scanned up to log sequence number 514 2314322944 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2319565824 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2324808704 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2330051584 (1 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 2335294464 (1 %)
...这里省略若干行
InnoDB: Doing recovery: scanned up to log sequence number 514 3881944064 (62 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 3887186944 (62 %)
InnoDB: Doing recovery: scanned up to log sequence number 514 3887732530 (62 %)
090708 10:52:00  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: In a MySQL replication slave the last master binlog file
InnoDB: position 0 350504077, file name mysql-bin.000748
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
090708 10:52:17  InnoDB: Started; log sequence number 514 3887732530

[notice (again)]
  If you use binary log and don't use any hack of group commit,
  the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015

xtrabackup: starting shutdown with innodb_fast_shutdown = 1
090708 10:52:17  InnoDB: Starting shutdown...
090708 10:52:24  InnoDB: Shutdown completed; log sequence number 514 3887732530

090708 10:52:24  innobackupex: Restarting xtrabackup with command:
xtrabackup --prepare --target-dir=/opt/mysqldata
for creating ib_logfile*

xtrabackup  Ver rc-0.7 for 5.0.77 unknown-linux-gnu (x86_64)
xtrabackup: cd to /opt/mysqldata
xtrabackup: This target seems to be already prepared.
xtrabackup: notice: xtrabackup_logfile was already used to '--prepare'.
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10000M;ibdata2:10000M;ibdata3:10000M;...;ibdata60:10000M
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 4
xtrabackup:   innodb_log_file_size = 104857600
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
090708 10:52:25  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:25  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:26  InnoDB: Log file ./ib_logfile2 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile2 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
090708 10:52:26  InnoDB: Log file ./ib_logfile3 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile3 size to 100 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
090708 10:52:27  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: In a MySQL replication slave the last master binlog file
InnoDB: position 0 350504077, file name mysql-bin.000748
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015
090708 10:52:27  InnoDB: Started; log sequence number 514 3887732748

[notice (again)]
  If you use binary log and don't use any hack of group commit,
  the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 36434864, file name /opt/mysqllog/mysql-bin.003015

xtrabackup: starting shutdown with innodb_fast_shutdown = 1
090708 10:52:27  InnoDB: Starting shutdown...
090708 10:52:29  InnoDB: Shutdown completed; log sequence number 514 3887732748
090708 10:52:29  innobackupex: innobackup completed OK!
</pre>
<p>运行完毕后，启动mysql即可。</p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html" title="使用Xtrabackup备份MySQL数据库">使用Xtrabackup备份MySQL数据库</a></li><li><a href="http://www.ningoo.net/html/2008/mysql_innodb_transaction_isolation_level.html" title="MySQL InnoDB存储引擎的事务隔离级别">MySQL InnoDB存储引擎的事务隔离级别</a></li><li><a href="http://www.ningoo.net/html/2008/mysql_innodb_parametes.html" title="MySQL InnoDB存储引擎的一些参数">MySQL InnoDB存储引擎的一些参数</a></li><li><a href="http://www.ningoo.net/html/2009/xtrabackup-08_released.html" title="xtrabackup 0.8版发布">xtrabackup 0.8版发布</a></li><li><a href="http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html" title="在同一台主机配置MySQL Cluster">在同一台主机配置MySQL Cluster</a></li><li><a href="http://www.ningoo.net/html/2009/how_far_can_mysql_be.html" title="MySQL还能走多远?">MySQL还能走多远?</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html'>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178185/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178185/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178185/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178185/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/nKoVnAaXgFhtB-QHF5ZXrUEypY8/0/da"><img src="http://feedads.g.doubleclick.net/~a/nKoVnAaXgFhtB-QHF5ZXrUEypY8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nKoVnAaXgFhtB-QHF5ZXrUEypY8/1/da"><img src="http://feedads.g.doubleclick.net/~a/nKoVnAaXgFhtB-QHF5ZXrUEypY8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net 在上一篇里，演示了使用xtrabackup对InnoDB进行在线物理热备，使用innobackupex脚本，可以很简单的一条命令行搞定InnoDB和MyISAM的物理备份。
本文则演示如何从xtrabackup的备...&lt;img src="http://www1.feedsky.com/t1/243178185/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178185/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178185/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178185/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>InnoDB</category><category>MySQL</category><category>xtrabackup</category><category>数据库</category><pubDate>Wed, 08 Jul 2009 11:55:53 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=748</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178185/1237504</fs:itemid></item><item><title>使用Xtrabackup备份MySQL数据库</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178186/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>MySQL数据库的备份，一直是个比较头痛的问题。各种工具虽然不少，但一个真正好用易用的，却又非常难找。Mysqldump做为数据的逻辑备份工具还行，但是无法进行在线热备，而没有物理备份工具，在数据量比较大的时候，恢复的时间也会长得无法接受。InnoDB倒是有个商业的<a href="http://www.innodb.com/products/hot-backup/order/">InnoDB Hotbackup</a>，可以对InnoDB引擎的表实现在线热备。最近发现了一个工具，<a href="http://www.percona.com/">percona</a>出品的<a href="https://launchpad.net/percona-xtrabackup">Xtrabackup</a>，是InnoDB Hotbackup的一个开源替代品，可以在线对InnoDB/XtraDB引擎的表进行物理备份，试用了一下，非常的不错，值得向MySQL DBA们推荐。</p>
<p>下面是一个实际备份的例子，采用了gzip将备份流进行压缩，约20GB的数据库，压缩后大小为340MB，当然，压缩后的大小跟数据库中实际使用的空间是相关的。备份时间约6分44秒。</p>
<p>innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的，主要是为了方便的同时备份InnoDB和MyISAM引擎的表，并且加入了一些使用的选项。如&#8211;slave-info可以记录备份恢复后，作为slave需要的一些信息，根据这些信息，可以很方便的利用备份来重做slave。</p>
<p>注意，从备份后的tar包解包的时候，需要使用-i参数。最新发布的是0.7版，<a href="http://www.percona.com/mysql/xtrabackup/0.7/">猛击这里下载</a></p>
<p>MySQL DBA们，你是如何做备份的呢？欢迎到<a href="http://www.mysqldba.net/viewthread.php?tid=65&#038;extra=page%3D1">这里探讨</a>。</p>
<pre>
$innobackupex-1.5.1 --user=root --stream=tar /bak/ --slave-info | gzip > /bak/bak_mysql.tar.gz

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

IMPORTANT: Please check that the backup run completes successfully.
           At the end of a successful backup run innobackup
           prints "innobackup completed OK!".

innobackupex: Using mysql  Ver 14.12 Distrib 5.0.67, for redhat-linux-gnu (x86_64)
 using  EditLine wrapper
innobackupex: Using mysql server version 5.0.67-log

innobackupex: Created backup directory /bak
090625 15:23:00  innobackupex: Starting mysql with options: --unbuffered --user=root
090625 15:23:00  innobackupex: Connected to database with mysql child process (pid=3431)
090625 15:23:04  innobackupex: Connection to database server closed

090625 15:23:04  innobackupex: Starting ibbackup with command:
xtrabackup --backup --suspend-at-end --log-stream --target-dir=./
innobackupex: Waiting for ibbackup (pid=3565) to suspend
innobackupex: Suspend file '/opt/mysqldata/xtrabackup_suspended'

xtrabackup: suspend-at-end is enabled.
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /opt/mysqldata
xtrabackup: Target instance is assumed as followings.
xtrabackup:   innodb_data_home_dir = /opt/mysqldata
xtrabackup:   innodb_data_file_path = ibdata1:10G;ibdata2:10G
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 4
xtrabackup:   innodb_log_file_size = 104857600
xtrabackup: use O_DIRECT
xtrabackup: Stream mode.
>> log scanned up to (0 3053406941)

090625 15:23:06  innobackupex: Continuing after ibbackup has suspended

innobackupex: Starting to backup InnoDB tables and indexes
innobackupex: from original InnoDB data directory '/opt/mysqldata'
innobackupex: Backing up as tar stream 'ibdata1'
>> log scanned up to (0 3053416714)
...这里省略若干行
>> log scanned up to (0 3054123851)
tar: ibdata1: file changed as we read it
innobackupex: Backing up as tar stream 'ibdata2'
>> log scanned up to (0 3054142116)
...这里省略若干行
>> log scanned up to (0 3054618483)
innobackupex: Backing up file '/opt/mysqldata/test/sp.ibd'
innobackupex: Backing up file '/opt/mysqldata/test/tmp_dy.ibd'
innobackupex: Backing up files '/opt/mysqldata/testdb/*.ibd' (206 files)
>> log scanned up to (0 3054638401)
>> log scanned up to (0 3054668860)
tar: testdb/group_group_thread_0027.ibd: file changed as we read it
>> log scanned up to (0 3054695015)
>> log scanned up to (0 3054928216)
tar: testdb/group_thread_reply_0007.ibd: file changed as we read it
>> log scanned up to (0 3054952588)
>> log scanned up to (0 3055005439)
tar: testdb/group_user_0001.ibd: file changed as we read it
>> log scanned up to (0 3055028610)
>> log scanned up to (0 3055044650)
tar: testdb/group_user_0006.ibd: file changed as we read it
>> log scanned up to (0 3055060461)
innobackupex: Backing up file '/opt/mysqldata/testdb/comments.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_content.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_ids.ibd'
090625 15:29:17  innobackupex: Starting mysql with options: --unbuffered --user=root
090625 15:29:17  innobackupex: Connected to database with mysql child process (pid=5458)
>> log scanned up to (0 3055072495)
090625 15:29:21  innobackupex: Starting to lock all tables...
>> log scanned up to (0 3055087148)
>> log scanned up to (0 3055119993)
090625 15:29:39  innobackupex: All tables locked and flushed to disk

090625 15:29:39  innobackupex: Starting to backup .frm, .MRG, .MYD, .MYI,
innobackupex: .TRG, .TRN, and .opt files in
innobackupex: subdirectories of '/opt/mysqldata'
innobackupex: Backing up file '/opt/mysqldata/test/sp.frm'
innobackupex: Backing up file '/opt/mysqldata/test/tmp_dy.frm'
innobackupex: Backing up files '/opt/mysqldata/testdb/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}' (207 files)
innobackupex: Backing up file '/opt/mysqldata/testdb/comments.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_content.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_ids.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/db.opt'
innobackupex: Backing up files '/opt/mysqldata/mysql/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}' (52 files)
090625 15:29:40  innobackupex: Finished backing up .frm, .MRG, .MYD, .MYI, .TRG, .TRN, and .opt files

innobackupex: Resuming ibbackup

xtrabackup: The latest check point (for incremental): '0:3054881736'
>> log scanned up to (0 3055120013)
xtrabackup: Transaction log of lsn (0 3053102766) to (0 3055120013) was copied.
090625 15:29:44  innobackupex: All tables unlocked
090625 15:29:44  innobackupex: Connection to database server closed

innobackupex: Backup created in directory '/bak/'
innobackupex: MySQL binlog position: filename '', position
innobackupex: MySQL slave binlog position: master host '127.0.0.1',
filename 'mysql-bin.000006', position 227207755
090625 15:29:44  innobackupex: innobackup completed OK!
innobackupex: You must use -i (--ignore-zeros) option for extraction of the tar stream.
</pre>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html" title="使用Xtrabackup备份MySQL数据库(续)">使用Xtrabackup备份MySQL数据库(续)</a></li><li><a href="http://www.ningoo.net/html/2009/xtrabackup-08_released.html" title="xtrabackup 0.8版发布">xtrabackup 0.8版发布</a></li><li><a href="http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html" title="在同一台主机配置MySQL Cluster">在同一台主机配置MySQL Cluster</a></li><li><a href="http://www.ningoo.net/html/2009/how_far_can_mysql_be.html" title="MySQL还能走多远?">MySQL还能走多远?</a></li><li><a href="http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html" title="MSN上的闲聊">MSN上的闲聊</a></li><li><a href="http://www.ningoo.net/html/2009/amoeba_for_mysql_distribute_environment.html" title="用Amoeba构架MySQL分布式数据库环境">用Amoeba构架MySQL分布式数据库环境</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html'>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html#comment'>Add Comments(3)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178186/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178186/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178186/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178186/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/dBAD04A7ufAvQkI3heFZL4VHSJ4/0/da"><img src="http://feedads.g.doubleclick.net/~a/dBAD04A7ufAvQkI3heFZL4VHSJ4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dBAD04A7ufAvQkI3heFZL4VHSJ4/1/da"><img src="http://feedads.g.doubleclick.net/~a/dBAD04A7ufAvQkI3heFZL4VHSJ4/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net MySQL数据库的备份，一直是个比较头痛的问题。各种工具虽然不少，但一个真正好用易用的，却又非常难找。Mysqldump做为数据的逻辑备份工具还行，但是无法进行在线...&lt;img src="http://www1.feedsky.com/t1/243178186/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178186/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178186/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178186/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>MySQL</category><category>xtrabackup</category><category>数据库</category><pubDate>Thu, 25 Jun 2009 15:55:05 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=738</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178186/1237504</fs:itemid></item><item><title>在同一台主机配置MySQL Cluster</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178187/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>MySQL cluster是share nothing的集群，采用ndb存储引擎，和Oracle的RAC采用集中存储不同，是一种分布式的架构，所以可以很轻松的实现在同一台主机上配置MySQL Cluster，相对RAC来说要简单得多。</p>
<p>在MySQL Cluster中，有三种不同的节点：</p>
<ul>
<li>管理节点：守护进程为ndb_mgmd，用于管理cluster。</li>
<li>数据节点: 守护进程为ndbd，用于存放数据</li>
<li>SQL节点：守护进程为mysqld，就是一个MySQL实例，对外供客户端连接访问数据。</li>
</ul>
<p>本文将在一台64位linux主机上同时配置上述三种节点。在实际生产环境中，根据需要，可以在相同或者不同的机器部署节点。本次实例中共包含以下节点：</p>
<ul>
<li>一个管理节点</li>
<li>两个数据节点</li>
<li>三个SQL节点</li>
</ul>
<p>下载Mysql cluster，当前版本7.0.6，<a href="http://dev.mysql.com/downloads/cluster/7.0.html">http://dev.mysql.com/downloads/cluster/7.0.html<br />
</a><br />
解压，并复制到安装目录</p>
<pre>
tar zxvf mysql-cluster-gpl-7.0.6-linux-x86_64-glibc23.tar.gz
cp mysql-cluster-gpl-7.0.6-linux-x86_64-glibc23 /u01/mysql-cluster

cd /u01/mysql-cluster
</pre>
<p>创建三个MySQL实例的数据目录</p>
<pre>
mkdir data/data1
mkdir data/data2
mkdir data/data3

mkdir data/data1/mysql
mkdir data/data1/test

mkdir data/data2/mysql
mkdir data/data2/test

mkdir data/data3/mysql
mkdir data/data3/test
</pre>
<p>Cluster配置文件如下</p>
<pre>
$ more conf/config.ini
[ndbd default]
noofreplicas=2
[ndbd]
hostname=localhost
id=2
[ndbd]
hostname=localhost
id=3
[ndb_mgmd]
id = 1
hostname=localhost
[mysqld]
id=4
hostname=localhost
[mysqld]
id=5
hostname=localhost
[mysqld]
id=6
hostname=localhost
</pre>
<p>三个MySQL实例配置文件如下</p>
<pre>
$ more conf/my1.cnf
[mysqld]
ndb-nodeid=4
ndbcluster=true
datadir=/u01/mysql-cluster/data/data1
basedir=/u01/mysql-cluster
port=9306
server-id=1
log-bin

$ more conf/my2.cnf
[mysqld]
ndb-nodeid=5
ndbcluster=true
datadir=/u01/mysql-cluster/data/data2
basedir=/u01/mysql-cluster
port=9307
server-id=2
log-bin

$ more conf/my3.cnf
[mysqld]
ndb-nodeid=6
ndbcluster=true
datadir=/u01/mysql-cluster/data/data3
basedir=/u01/mysql-cluster
port=9308
server-id=3
log-bin
</pre>
<p>初始化三个MySQL实例</p>
<pre>
script/mysql_install_db --basedir=/u01/mysql-cluster --datadir=/u01/mysql-cluster/data/data1
script/mysql_install_db --basedir=/u01/mysql-cluster --datadir=/u01/mysql-cluster/data/data2
script/mysql_install_db --basedir=/u01/mysql-cluster --datadir=/u01/mysql-cluster/data/data3
</pre>
<p>初始化管理节点</p>
<pre>
bin/ndb_mgmd --initial -f conf/config.ini --configdir=/u01/mysql-cluster
</pre>
<p>进入管理节点查看配置</p>
<pre>
$ bin/ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> help
---------------------------------------------------------------------------
 NDB Cluster -- Management Client -- Help
---------------------------------------------------------------------------
HELP                                   Print help text
HELP COMMAND                           Print detailed help for COMMAND(e.g. SHOW)
SHOW                                   Print information about cluster
CREATE NODEGROUP <id>,<id>...          Add a Nodegroup containing nodes
DROP NODEGROUP <NG>                    Drop nodegroup with id NG
START BACKUP [NOWAIT | WAIT STARTED | WAIT COMPLETED]
START BACKUP [<backup id>] [NOWAIT | WAIT STARTED | WAIT COMPLETED]
START BACKUP [<backup id>] [SNAPSHOTSTART | SNAPSHOTEND] [NOWAIT | WAIT STARTED | WAIT COMPLETED]
                                       Start backup (default WAIT COMPLETED,SNAPSHOTEND)
ABORT BACKUP <backup id>               Abort backup
SHUTDOWN                               Shutdown all processes in cluster
CLUSTERLOG ON [<severity>] ...         Enable Clus
<severity> = ALERT | CRITICAL | ERROR | WARNING | INFO | DEBUG
<category> = STARTUP | SHUTDOWN | STATISTICS | CHECKPOINT | NODERESTART | CONNECTION
| INFO | ERROR | CONGESTION | DEBUG | BACKUP
<level>    = 0 - 15
<id>       = ALL | Any database node id

For detailed help on COMMAND, use HELP COMMAND.

ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2 (not connected, accepting connect from localhost)
id=3 (not connected, accepting connect from localhost)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @localhost  (mysql-5.1.34 ndb-7.0.6)

[mysqld(API)]   3 node(s)
id=4 (not connected, accepting connect from localhost)
id=5 (not connected, accepting connect from localhost)
id=6 (not connected, accepting connect from localhost)
</pre>
<p>初始化数据节点</p>
<pre>
bin/ndbd --initial -c localhost:1186
2009-06-21 23:13:19 [ndbd] INFO     -- Configuration fetched from 'localhost:1186', generation: 1
bin/ndbd --initial -c localhost:1186
2009-06-21 23:13:50 [ndbd] INFO     -- Configuration fetched from 'localhost:1186', generation: 1
</pre>
<p>启动SQL节点</p>
<pre>
bin/mysqld --defaults-file=conf/my1.cnf&#038;
[1] 17843
 090621 23:14:36 [Warning] No argument was provided to --log-bin,
and --log-bin-index was not used; so replication may break when this MySQL server acts as a master
and has his hostname changed!! Please use '--log-bin=test-bin' to avoid this problem.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
090621 23:14:36  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
090621 23:14:36  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
090621 23:14:36  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
090621 23:14:36  InnoDB: Started; log sequence number 0 0
090621 23:14:36 [Note] NDB: NodeID is 4, management server 'localhost:1186'
090621 23:14:37 [Note] NDB[0]: NodeID: 4, all storage nodes connected
090621 23:14:37 [Note] Starting Cluster Binlog Thread
090621 23:14:37 [Note] Event Scheduler: Loaded 0 events
090621 23:14:37 [Note] bin/mysqld: ready for connections.
Version: '5.1.34-ndb-7.0.6-cluster-gpl-log'  socket: '/tmp/mysql.sock'
port: 9306  MySQL Cluster Server (GPL)
090621 23:14:38 [Note] NDB Binlog: Ndb tables initially read only.
090621 23:14:38 [Note] NDB: Creating mysql.ndb_schema
090621 23:14:38 [Note] NDB Binlog: CREATE TABLE Event: REPL$mysql/ndb_schema
090621 23:14:38 [Note] NDB Binlog: logging ./mysql/ndb_schema (UPDATED,USE_WRITE)
090621 23:14:38 [Note] NDB: Creating mysql.ndb_apply_status
090621 23:14:39 [Note] NDB Binlog: CREATE TABLE Event: REPL$mysql/ndb_apply_status
090621 23:14:39 [Note] NDB Binlog: logging ./mysql/ndb_apply_status (UPDATED,USE_WRITE)
2009-06-21 23:14:39 [NdbApi] INFO     -- Flushing incomplete GCI:s < 20/3
2009-06-21 23:14:39 [NdbApi] INFO     -- Flushing incomplete GCI:s < 20/3
090621 23:14:39 [Note] NDB Binlog: starting log at epoch 20/3
090621 23:14:39 [Note] NDB Binlog: ndb tables writable
</pre>
<pre>
bin/mysqld --defaults-file=conf/my2.cnf&#038;
bin/mysqld --defaults-file=conf/my3.cnf&#038;
</pre>
<p>查看cluster</p>
<pre>
bin/ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master)
id=3    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)

[mysqld(API)]   3 node(s)
id=4    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
id=5    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
id=6    @127.0.0.1  (mysql-5.1.34 ndb-7.0.6)
</pre>
<p>创建测试表</p>
<pre>
bin/mysql -uroot -h localhost -P 9306  --socket=/tmp/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.34-ndb-7.0.6-cluster-gpl-log MySQL Cluster Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@(none) 11:21:24>use test
Database changed
root@test 11:21:26>create table test_ndb(i int,a varchar(20),primary key(i)) engine=ndb;
090621 23:22:32 [Note] NDB Binlog: CREATE TABLE Event: REPL$test/test_ndb
090621 23:22:32 [Note] NDB Binlog: logging ./test/test_ndb (UPDATED,USE_WRITE)
090621 23:22:32 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$test/test_ndb
090621 23:22:32 [Note] NDB Binlog: DISCOVER TABLE Event: REPL$test/test_ndb
090621 23:22:32 [Note] NDB Binlog: logging ./test/test_ndb (UPDATED,USE_WRITE)
090621 23:22:32 [Note] NDB Binlog: logging ./test/test_ndb (UPDATED,USE_WRITE)
Query OK, 0 rows affected (1.10 sec)

root@test 11:22:32>insert into test_ndb values(1,'NinGoo');
Query OK, 1 row affected (0.02 sec)

[mysql@dbconsole mysql-cluster]$ ls -l data/data1/test
total 12
-rw-rw----  1 mysql dba 8578 Jun 21 23:22 test_ndb.frm
-rw-rw----  1 mysql dba    0 Jun 21 23:22 test_ndb.ndb
[mysql@dbconsole mysql-cluster]$ ls -l data/data2/test
total 12
-rw-rw----  1 mysql dba 8578 Jun 21 23:22 test_ndb.frm
-rw-rw----  1 mysql dba    0 Jun 21 23:22 test_ndb.ndb
[mysql@dbconsole mysql-cluster]$ ls -l data/data3/test
total 12
-rw-rw----  1 mysql dba 8578 Jun 21 23:22 test_ndb.frm
-rw-rw----  1 mysql dba    0 Jun 21 23:22 test_ndb.ndb

$ bin/mysql -uroot -P 9307 --socket=/tmp/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.34-ndb-7.0.6-cluster-gpl-log MySQL Cluster Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@(none) 11:24:38>use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
root@test 11:24:41>select * from test_ndb;
+---+--------+
| i | a      |
+---+--------+
| 1 | NinGoo |
+---+--------+
1 row in set (0.02 sec)
</pre>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html" title="使用Xtrabackup备份MySQL数据库(续)">使用Xtrabackup备份MySQL数据库(续)</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html" title="使用Xtrabackup备份MySQL数据库">使用Xtrabackup备份MySQL数据库</a></li><li><a href="http://www.ningoo.net/html/2009/how_far_can_mysql_be.html" title="MySQL还能走多远?">MySQL还能走多远?</a></li><li><a href="http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html" title="MSN上的闲聊">MSN上的闲聊</a></li><li><a href="http://www.ningoo.net/html/2009/amoeba_for_mysql_distribute_environment.html" title="用Amoeba构架MySQL分布式数据库环境">用Amoeba构架MySQL分布式数据库环境</a></li><li><a href="http://www.ningoo.net/html/2008/mysql_51_new_feather_1_log_output.html" title="MySQL5.1新特性（一）日志的增强">MySQL5.1新特性（一）日志的增强</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html'>http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178187/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178187/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178187/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178187/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/sh9yPgTJ607DHQGaZZyO2Hmq4WI/0/da"><img src="http://feedads.g.doubleclick.net/~a/sh9yPgTJ607DHQGaZZyO2Hmq4WI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sh9yPgTJ607DHQGaZZyO2Hmq4WI/1/da"><img src="http://feedads.g.doubleclick.net/~a/sh9yPgTJ607DHQGaZZyO2Hmq4WI/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net MySQL cluster是share nothing的集群，采用ndb存储引擎，和Oracle的RAC采用集中存储不同，是一种分布式的架构，所以可以很轻松的实现在同一台主机上配置MySQL Cluster，相对RAC...&lt;img src="http://www1.feedsky.com/t1/243178187/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178187/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178187/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178187/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>mysql cluster</category><category>MySQL</category><category>数据库</category><pubDate>Sun, 21 Jun 2009 23:51:37 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=728</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178187/1237504</fs:itemid></item><item><title>MySQL还能走多远?</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178188/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/how_far_can_mysql_be.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>MySQL最近这一年多可谓命途多舛。先是被日薄西山的Sun收购，又随Sun一起嫁入Oracle。因此不少人开始担忧起MySQL的前途来。其实这是大可不必的，一个产品的生命力，在于客户和市场。只要客户和市场认可了，不怕没有人挤破头来发展。</p>
<p>Oracle虽然在市场上称王，但论数据库的普及程度，估计接触过MySQL的人还是要更多一些，LAMP大名，早已名声在外。只是大部分接触MySQL的人，大多只是将MySQL做为一个简单的数据盒子，并没有能更深入的研究。这也跟应用场景有关。MySQL在之前大多只是在一些小应用中小打小闹，在真正的企业级市场，基本没他什么事。</p>
<p>但互联网企业这几年的逐渐红火，这种情况开始改变。一个成功的网站，系统所面临的压力，在一些传统行业是很难想像的。而大多数网站在初创时，基于技术和资金等多方面的考虑，往往都乐于选择开源的MySQL做为数据库解决方案。随着网站业务的发展，压力成指数倍的增加，MySQL数据库的架构设计便便的非常重要，公司也会愿意投入大量的人力资源去深入的研究MySQL。这就形成了一个良性的循环。</p>
<p>MySQL随着web2.0一起红火，MySQL DBA的职位也开始变得吃香。然而MySQL DBA人才的相对匮乏，也将可能成为制约MySQL发展的一道坎。好在国内这几年不断有一些优秀的MySQL DBA开始展露头角。比如阿里巴巴的小伙子<a href="http://www.jianzhaoyang.com">简朝阳</a>，毕业不过短短三年，从Oracle转向MySQL的时间更短，却能潜心研究，最近正式出版的新书《<a href="http://www.jianzhaoyang.com/mysql-performance-tuning-and-architecture/first-sale">MySQL性能调优与架构设计</a>》，可以说是填补国内关于MySQL架构类数据的空白。相信对于MySQL的普及推广，一定能起到积极的作用。</p>
<p>是的，不用怀疑。MySQL一定能走很远。MySQL DBA一定大有可为。正是相信这一点，我在前几天注册了一个域名：<a href="http://mysqldba.net">http://mysqldba.net</a>，并用discuz!搭建了一个论坛，希望MySQL DBA们能够多多交流，共同进步。希望以后招聘MySQL DBA，不至于一年也难招到一位合适的了，呵呵。</p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html" title="MSN上的闲聊">MSN上的闲聊</a></li><li><a href="http://www.ningoo.net/html/2008/recommend_a_book_for_mysql_dba.html" title="给MySQL DBA推荐一本书">给MySQL DBA推荐一本书</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html" title="使用Xtrabackup备份MySQL数据库(续)">使用Xtrabackup备份MySQL数据库(续)</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html" title="使用Xtrabackup备份MySQL数据库">使用Xtrabackup备份MySQL数据库</a></li><li><a href="http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html" title="在同一台主机配置MySQL Cluster">在同一台主机配置MySQL Cluster</a></li><li><a href="http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html" title="招聘这事儿">招聘这事儿</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/how_far_can_mysql_be.html'>http://www.ningoo.net/html/2009/how_far_can_mysql_be.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/how_far_can_mysql_be.html#comment'>Add Comments(2)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178188/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178188/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178188/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178188/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/TYogx44ZEj1pkdpMOishcy5_XN0/0/da"><img src="http://feedads.g.doubleclick.net/~a/TYogx44ZEj1pkdpMOishcy5_XN0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TYogx44ZEj1pkdpMOishcy5_XN0/1/da"><img src="http://feedads.g.doubleclick.net/~a/TYogx44ZEj1pkdpMOishcy5_XN0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/how_far_can_mysql_be.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net MySQL最近这一年多可谓命途多舛。先是被日薄西山的Sun收购，又随Sun一起嫁入Oracle。因此不少人开始担忧起MySQL的前途来。其实这是大可不必的，一个产品的生命力，...&lt;img src="http://www1.feedsky.com/t1/243178188/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178188/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178188/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178188/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>mysqldba</category><category>MySQL</category><category>dba</category><category>杂记</category><pubDate>Fri, 19 Jun 2009 23:41:00 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/how_far_can_mysql_be.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=720</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/how_far_can_mysql_be.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178188/1237504</fs:itemid></item><item><title>MSN上的闲聊</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178189/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>A: 现在搞起mysql了？<br />
B: 嗯<br />
A: 现在比较多的项目在使用mysql了，所以现在mysql也变成一种趋势了<br />
B: 在互联网行业，MySQL分布式是大势所趋<br />
A: 呵呵，是的，现在我们这边也有很多mysql的项目在线上<br />
B: 不过目前国内MySQL的交流是不太多<br />
B: 而且要招一个合适的人相当的难<br />
A: 呵呵，是的，很多mysql都是从Oracle转过来或者是带着做的，不过有Oracle的技术，转或者带着做问题还不是很大<br />
A: 对于互联网的应用来说，DB这块主要的还是HA这块是重中之中，Mysql这块在分布式来说做的还行<br />
B: 基本的技术原理什么的是没啥难的，不过要用好，尤其是分布式架构，要做好还是需要功力的<br />
A: 呵呵，是的，对于技术这东西很多还是考经验和实践，上了几个项目后会有很大的积累<br />
B: 嗯，是这样的<br />
B: 去年我们开始推MySQL的时候，开发人员都有很大的担心和抵触<br />
B: 现在是想不让他们用都不行，哈哈<br />
A: 哈哈，其实mysql用起来还行，有些数据仓库还使用的呢<br />
A: 但是对于大容量，高并发的事务处理，mysql还是有待提高的<br />
A: 现在很多做互联网的，除了核心库外，别的基本上都在往这上面转，其实很多时候还是人的心理面在作梗<br />
B: 分布式，其实把很多东西都交给应用架构了<br />
B: 对于数据库本身，要求反倒很低了，就是用来存放持久数据而已<br />
A: 没错，那样DB真的是DB了，就是简单的存储了<br />
A: 哈哈，没错，哎，很多东西大家的想法很一直<br />
B: 嗯，技术就那么点，关键是把想法落实，做出东西来<br />
A: 是的，所以说你们那边还是比较幸福的<br />
  很多东西好落实<br />
B: 我们也是在不断摸索<br />
B: 不过摸索的过程，是比较长经验值的<br />
A: 是的，摸索只是一种开始，实施的过程才是真正验证摸索的阶段，如果只有摸索，没有实践，那也只是空话，所以说你们那边是幸福的，很多时候有开始，有结束，但是很多时候，很多单位不是这样，摸索永远当作一种摸索，没有结束，呵呵<br />
<a href=" http://www.mysqldba.net/viewthread.php?tid=18&#038;extra=page%3D1"><br />
http://www.mysqldba.net/viewthread.php?tid=18&#038;extra=page%3D1</a></p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/how_far_can_mysql_be.html" title="MySQL还能走多远?">MySQL还能走多远?</a></li><li><a href="http://www.ningoo.net/html/2008/recommend_a_book_for_mysql_dba.html" title="给MySQL DBA推荐一本书">给MySQL DBA推荐一本书</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database_2.html" title="使用Xtrabackup备份MySQL数据库(续)">使用Xtrabackup备份MySQL数据库(续)</a></li><li><a href="http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html" title="使用Xtrabackup备份MySQL数据库">使用Xtrabackup备份MySQL数据库</a></li><li><a href="http://www.ningoo.net/html/2009/setup_mysql_cluster_on_single_linux_node.html" title="在同一台主机配置MySQL Cluster">在同一台主机配置MySQL Cluster</a></li><li><a href="http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html" title="招聘这事儿">招聘这事儿</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html'>http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html#comment'>Add Comments(1)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178189/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178189/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178189/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178189/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/o-2BbXtzN0ma5TxEtL1dQbry4Pk/0/da"><img src="http://feedads.g.doubleclick.net/~a/o-2BbXtzN0ma5TxEtL1dQbry4Pk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/o-2BbXtzN0ma5TxEtL1dQbry4Pk/1/da"><img src="http://feedads.g.doubleclick.net/~a/o-2BbXtzN0ma5TxEtL1dQbry4Pk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net A: 现在搞起mysql了？
B: 嗯
A: 现在比较多的项目在使用mysql了，所以现在mysql也变成一种趋势了
B: 在互联网行业，MySQL分布式是大势所趋
A: 呵呵，是的，现在我们这边也...&lt;img src="http://www1.feedsky.com/t1/243178189/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178189/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178189/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178189/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>mysqldba</category><category>MySQL</category><category>dba</category><category>数据库</category><pubDate>Thu, 18 Jun 2009 15:35:11 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=718</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178189/1237504</fs:itemid></item><item><title>DataGuard环境慎用alter tablespace drop datafile</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178190/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>Oracle10g开始提供alter tablespace drop datafile的特性，允许删除没有数据的空文件。本来这是一个还有那么点用的功能，可是，慎用，有bug。</p>
<pre>
ALTER TABLESPACE ... DROP DATAFILE ... produces bad
redo which typically does not then drop the datafile
either during recovery or at a standby. This can lead
to subsequent errors such as ORA-600 [3689] of
subsequent redo tries to add new datafile.
</pre>
<p>如果在data guard环境中，可能你在主库这么一执行，备库就挂了，报ora-600</p>
<pre>
ORA-00600: internal error code, arguments: [3689], [28], [], [], [], [], [], []
</pre>
<p>这个<strong>bug 5623467</strong>，从10.2.0.1一直影响到10.2.0.4，好在10.2.0.4后出了一个 Data Guard Physical Recommended Patch Bundle #1(Doc ID: 7936993.8)，总算是修复了这个问题，已经升级或者准备升级到10.2.0.4的朋友，一定要主机打上这个patch bundle，Oracle总是在一些你不注意的地方留个坑，一不小心就让你灰头土脸。</p>
<pre>
Workaround
  Avoid the use of the ALTER TABLESPACE .. DROP DATAFILE ..
  command on the primary.
</pre>
<p>10.2.0.4 Data Guard Physical Recommended Patch Bundle #1主要修复的bug如下：</p>
<p>     Bug:3934160  Intermittent OERI[ksfdgfnm1]<br />
     Bug:5126719  LGWR may terminate the instance due to ORA-16164<br />
     Bug:5404871  Local first not used archiving closed thread at higher protection mode<br />
     Bug:5476236  RFS logminer client inoperative after physical standby switchover to primary<br />
    <strong> Bug:5623467  Corrupt redo from ALTER TABLESPACE DROP DATAFILE</strong><br />
     Bug:6024730  V$BACKUP . STATUS shows &#8220;UNKNOWN ERROR&#8221;<br />
     Bug:6070225  Terminal recovery encounters ORA-308 when RMAN is active<br />
     Bug:6074620  LGWR unconditionally writes to trace file<br />
     Bug:6345573  OERI [krsmseqa.2] during terminal recovery<br />
     Bug:6469211  Slow startup with many log files on ASM<br />
     Bug:6490140  LGWR may crash the instance<br />
     Bug:6711853  V$ARCHIVE_DEST does not show new &#8216;binding&#8217; on the physical standby<br />
     Bug:6840740  Switchover to physical standby allowed even if there are no physical standbys<br />
     Bug:6874522  V$DATAGUARD_STATS . VALUE may be NULL in logical standby<br />
     Bug:6882739  Controlfile enqueue contention from DataGuard<br />
     Bug:6919819  Flashback database may not correctly flashback some data blocks<br />
     Bug:6941717  Logical standby considered synchronous during dictionary load<br />
     Bug:6954829  OERI[kcramr_8] during media recovery<br />
     Bug:6955744  Archive log is not automatically registered when second CDC is built<br />
     Bug:6976005  CF enqueue held for longer than needed with flashback enabled<br />
     Bug:6980597  Heartbeat redo is not generated for single instance primary with RTA logical<br />
     Bug:7013124  30 second delay for 2nd pass instance recovery<br />
     Bug:7044551  ALTER TABLESPACE BACKUP CONTROLFILE TO TRACE can be slow<br />
     Bug:7136489  Unwanted trace lines &#8220;FAIL: tkrsf_al_read: Invalid archive log file contents&#8221;<br />
     Bug:7140204  OERI[ktupdb_0] undo block corruption on readable standby<br />
     Bug:7159505  Standby MRP stuck when no recovery area space left<br />
     Bug:7197445  Standby Recovery session cancelled due to ORA-600 [3020]<br />
     Bug:7257461  ORA-16146 during block media recovery on a primary with no standby destination<br />
     Bug:7257770  OERI:krffReserveCFEntry_1 / flashback disabled in RAC<br />
     Bug:7276960  Intermittent ORA-16014 errors in Streams environment<br />
     Bug:7432601  Hang holding FAL queue latch<br />
     Bug:7460818  Flashback logs are not balanced between redo threads<br />
     Bug:7494333  MRP may request wrong (too old) log<br />
     Bug:7568556  Slow standby recovery<br />
     Bug:7593835  Write failure when &#8220;selecting&#8221; new SRL is not handle properly<br />
     Bug:7643632  High log file sync in Data Guard maximum availability (sync) mode<br />
     Bug:8230457  Physical standby media recovery gets OERI[krr_media_12]<br />
     Bug:8283650  A dump can occur under krsmchksl with trace enabled<br />
     Bug:8287155  Final gap error (ORA-16416) reported during switchover to standby<br />
     Bug:8304589  Terminal recovery may hang</p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/in_memory_undo_and_logical_standby_database.html" title="In Memory Undo与logical standby database">In Memory Undo与logical standby database</a></li><li><a href="http://www.ningoo.net/html/2009/learn_oci_programming_from_ociuldr.html" title="学习oci编程，从ociuldr开始">学习oci编程，从ociuldr开始</a></li><li><a href="http://www.ningoo.net/html/2009/ora-00494_and_oracle10_2_0_4.html" title="ORA-00494与Oracle10.2.0.4">ORA-00494与Oracle10.2.0.4</a></li><li><a href="http://www.ningoo.net/html/2009/exp_meet_exp-00008_ora-04068_ora-04067ora-06508.html" title="exp遭遇EXP-00008 ORA-04068 ORA-04067 ORA-06508">exp遭遇EXP-00008 ORA-04068 ORA-04067 ORA-06508</a></li><li><a href="http://www.ningoo.net/html/2009/how_to_get_extent_id_from_rowid.html" title="如何根据rowid获取extent_id">如何根据rowid获取extent_id</a></li><li><a href="http://www.ningoo.net/html/2009/nfs_mount_option_for_oracle.html" title="Oracle环境中使用NFS的mount选项">Oracle环境中使用NFS的mount选项</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html'>http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178190/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178190/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178190/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178190/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/W8EaGtWMDWMgOP1qkypKw3xnEPU/0/da"><img src="http://feedads.g.doubleclick.net/~a/W8EaGtWMDWMgOP1qkypKw3xnEPU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/W8EaGtWMDWMgOP1qkypKw3xnEPU/1/da"><img src="http://feedads.g.doubleclick.net/~a/W8EaGtWMDWMgOP1qkypKw3xnEPU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net Oracle10g开始提供alter tablespace drop datafile的特性，允许删除没有数据的空文件。本来这是一个还有那么点用的功能，可是，慎用，有bug。

ALTER TABLESPACE ... DROP DATAFILE ... p...&lt;img src="http://www1.feedsky.com/t1/243178190/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178190/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178190/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178190/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>DataGuard</category><category>oracle</category><category>10.2.0.4</category><category>数据库</category><pubDate>Tue, 16 Jun 2009 20:50:12 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=714</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/do_not_use_alter_tablespace_drop_datafile_on_dataguard.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178190/1237504</fs:itemid></item><item><title>招聘这事儿</title><link>http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178191/1237504/1/item.html</link><content:encoded><![CDATA[<p>Author:<a href='http://www.ningoo.net'>NinGoo</a> posted on <a href='http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html'>NinGoo.net</a> <a href='http://rss.ningoo.net'><img style='border: 0pt none;' align='middle' src='http://www.feedsky.com/feed/NinGoo/sc/gif'></img></a></p><p>最近事情偏多，blog更新几近于无，这不是一个好现象。事情多，业务增长快，不可避免的，需要招人。经过权衡考虑，我们将在<strong>北京</strong>设置一个远程产品DBA团队，负责数据库管理/优化/存储备份管理等。这是一个巨大的挑战，我们的工作模式，我们的沟通方式，我们的技术架构，都需要为此做出改变。变化就是机遇，所以这也是一个很好的机会。</p>
<p>新的团队，我们需要一个<strong>Team Leader</strong>，需要你：<br />
1、精通Oracle/Mysql中至少一个关系型数据库，熟悉数据库理论基础，有一定的技术前瞻力和执行力。<br />
2、熟悉linux/unix操作系统，能熟练使用shell/perl，熟悉SAN存储。<br />
3、具有一定的团队管理经验，能带领团队一起达成团队目标。<br />
4、沟通能力强，积极主动，具备高度的激情与创新能力<br />
5、具备一定的系统架构规划设计能力</p>
<p>同时，我们还需要专业的<strong>Oracle DBA</strong>，需要你：<br />
1、精通Oracle数据库系统架构与管理<br />
2、熟悉物理与逻辑data guard，streams或者RAC等高可用架构<br />
3、熟悉Linux/unix操作系统，能熟练编写Shell/Perl脚本<br />
4、具备一定的主机/存储的硬件知识能力者优先<br />
5、有想法，具备良好的学习能力</p>
<p>MySQL做为我们后续一个非常重要的发展方向，今年将超过200台的规模，需要专业的<strong>MySQL DBA</strong>：<br />
1、精通Mysql大型集群的批量管理与监控<br />
2、熟悉MySQL高可用架构设计，熟悉MySQL的备份与恢复<br />
3、熟悉Linux/unix操作系统，能熟练编写Shell/Perl脚本，能利用脚本完成大批量数据库的管理<br />
4、具备一定的主机/存储的硬件知识能力者优先<br />
5、有想法，具备良好的学习能力</p>
<p>以上职位，base在北京。同时如果想在杭州发展，也可以base在杭州。如果你有兴趣，赶紧行动。简历中请注明是应聘杭州还是北京的职位。<br />
简历请发送至: jiangfeng#taobao.com</p>
<br/><b>Related Articles</b><p><ul class="related_post"><li><a href="http://www.ningoo.net/html/2009/taobaodba_jobs_2009_q2.html" title="淘宝网招聘主机存储工程师，Oracle DBA及MySQL DBA">淘宝网招聘主机存储工程师，Oracle DBA及MySQL DBA</a></li><li><a href="http://www.ningoo.net/html/2008/alimama_dba_wanted.html" title="阿里妈妈，求贤若渴">阿里妈妈，求贤若渴</a></li><li><a href="http://www.ningoo.net/html/2007/taobao_oracle_and_mysql_dba_wanted.html" title="淘宝网招聘Oracle&#038;MySQL DBA">淘宝网招聘Oracle&#038;MySQL DBA</a></li><li><a href="http://www.ningoo.net/html/2009/how_far_can_mysql_be.html" title="MySQL还能走多远?">MySQL还能走多远?</a></li><li><a href="http://www.ningoo.net/html/2009/chat_about_mysqldba_on_msn.html" title="MSN上的闲聊">MSN上的闲聊</a></li><li><a href="http://www.ningoo.net/html/2008/itpub_what_kind_of_dba_taobao_needs.html" title="Itpub高校行之浙工大：淘宝需要什么样的DBA">Itpub高校行之浙工大：淘宝需要什么样的DBA</a></li></ul></p><p><b>PermLink:</b> <a href='http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html'>http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html</a></p><p><b><a href='http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html#comment'>Add Comments(0)</a></b> | <b><a href='http://twitter.com/NinGoo'>Follow NinGoo@Twitter</a></b> | <b><a href='http://www.google.com/ig/add?feedurl=http://rss.ningoo.net'>Google Reader</a></b></p><img src="http://www1.feedsky.com/t1/243178191/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178191/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /><p class="fswww1"><a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178191/art01.html" target="_blank"><img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178191/art01.gif" onerror="this.style.display='none'" /></a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/WZ48JORk2VvgsxUdG0mlb7ThvpQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/WZ48JORk2VvgsxUdG0mlb7ThvpQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WZ48JORk2VvgsxUdG0mlb7ThvpQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/WZ48JORk2VvgsxUdG0mlb7ThvpQ/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded><wfw:commentRss>http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html/feed</wfw:commentRss><description>Author:NinGoo posted on NinGoo.net 最近事情偏多，blog更新几近于无，这不是一个好现象。事情多，业务增长快，不可避免的，需要招人。经过权衡考虑，我们将在北京设置一个远程产品DBA团队，负责...&lt;img src="http://www1.feedsky.com/t1/243178191/NinGoo/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/NinGoo/~1461473/243178191/1237504/1/item.html" border="0" height="0" width="0" style="position:absolute" /&gt;&lt;p class="fswww1"&gt;&lt;a href="http://www1.feedsky.com/r/l/feedsky/NinGoo/243178191/art01.html" target="_blank"&gt;&lt;img border="0" ismap="ismap" src="http://www1.feedsky.com/r/i/feedsky/NinGoo/243178191/art01.gif" onerror="this.style.display='none'" /&gt;&lt;/a&gt;&lt;/p&gt;</description><category>招聘</category><category>dba</category><category>数据库</category><pubDate>Sat, 13 Jun 2009 01:25:50 +0800</pubDate><author>NinGoo</author><comments>http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html#comments</comments><guid isPermaLink="false">http://www.ningoo.net/?p=710</guid><dc:creator>NinGoo</dc:creator><fs:srclink>http://www.ningoo.net/html/2009/taobao_dba_jobs_in_beijing.html</fs:srclink><fs:srcfeed>http://www.ningoo.net/feed/</fs:srcfeed><fs:itemid>feedsky/NinGoo/~1461473/243178191/1237504</fs:itemid></item></channel></rss>
