<?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>MMM Community Blog</title>
	<atom:link href="http://blog.mysql-mmm.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mysql-mmm.org</link>
	<description>Multi-Master Replication Manager for MySQL</description>
	<lastBuildDate>Fri, 13 Aug 2010 20:17:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Speaking up on Froscon</title>
		<link>http://blog.mysql-mmm.org/2010/08/speaking-up-on-froscon/</link>
		<comments>http://blog.mysql-mmm.org/2010/08/speaking-up-on-froscon/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 20:17:38 +0000</pubDate>
		<dc:creator>istvan_podor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=62</guid>
		<description><![CDATA[Hi MMM users.
On this post I just want to let you know that I will speak up at Froscon in Cologne, Germany next week (21st, August).
My speech will cover an architecture what I have used to "keep your mysql backend online, no matter what", what is the title of the presentation too.
This architecture includes MMM [...]]]></description>
			<content:encoded><![CDATA[<p>Hi MMM users.</p>
<p>On this post I just want to let you know that I will speak up at Froscon in Cologne, Germany next week (21st, August).</p>
<p>My speech will cover an architecture what I have used to "keep your mysql backend online, no matter what", what is the title of the presentation too.</p>
<p>This architecture includes MMM as a very important part of it.</p>
<p>Please visit the conference's website and join us there if you can.</p>
<p><a href="www.froscon.de">www.froscon.de</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2010/08/speaking-up-on-froscon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MMM Nagios plugin</title>
		<link>http://blog.mysql-mmm.org/2009/10/mmm-nagios-plugin/</link>
		<comments>http://blog.mysql-mmm.org/2009/10/mmm-nagios-plugin/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 09:20:29 +0000</pubDate>
		<dc:creator>istvan_podor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[check_mmm]]></category>
		<category><![CDATA[mmm]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=56</guid>
		<description><![CDATA[There is a nagios plugin available on the MMM's google-code page, but if you didn't find it yet, here it is:
http://code.google.com/p/check-mysql-all/wiki/check_mmm
You can call this plugin over nrpe. I'm already working on to fork a version which more useful with passive checks.
This plugin was developed by Ryan Lowe (Percona).
]]></description>
			<content:encoded><![CDATA[<p>There is a nagios plugin available on the MMM's google-code page, but if you didn't find it yet, here it is:</p>
<p><a title="Nagios plugin for mmm" href="http://code.google.com/p/check-mysql-all/wiki/check_mmm" target="_blank">http://code.google.com/p/check-mysql-all/wiki/check_mmm</a></p>
<p>You can call this plugin over nrpe. I'm already working on to fork a version which more useful with passive checks.</p>
<p>This plugin was developed by Ryan Lowe (Percona).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2009/10/mmm-nagios-plugin/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Centralized authentication with mysql</title>
		<link>http://blog.mysql-mmm.org/2009/10/centralized-authentication-with-mysql/</link>
		<comments>http://blog.mysql-mmm.org/2009/10/centralized-authentication-with-mysql/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 15:11:36 +0000</pubDate>
		<dc:creator>istvan_podor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=47</guid>
		<description><![CDATA[There is no centralized authentication for mysql. You have to set up your user accounts individually for each of your mysql servers. You can use replication, but that would mean, your master servers must have the same authentication privileges as your slaves have. What about security?
So, here is a little workaround that I did and [...]]]></description>
			<content:encoded><![CDATA[<p>There is no centralized authentication for mysql. You have to set up your user accounts individually for each of your mysql servers. You can use replication, but that would mean, your master servers must have the same authentication privileges as your slaves have. What about security?</p>
<p>So, here is a little workaround that I did and I can't find the same anywhere.</p>
<p><span id="more-47"></span></p>
<h1><strong>How does it work?</strong></h1>
<p>This is an <span style="text-decoration: underline">unofficial and unsupported</span> solution. Let's have a master and one or more slave hosts. On your master, you have to create a database lets say slave_auth. Create the same tables in this database as you have in the 'mysql' database and needed for authentication (more details below), and set up a user who can read/write those tables.</p>
<p>When you are done, create a temporary database on your slaves lets say auth_temp with the exact structure of the tables on your master, but with federated engine connected to your master with the user you added previously. Shut down mysql, overwrite the mysql system tables with those you got in auth_temp db (or don't shut down, just overwrite), flush privileges, and there you go, its done. Funny humm?</p>
<p>What are the requirements?</p>
<ul>
<li>It needs federated engine supported on your slaves</li>
</ul>
<p>(no, there is no more requirements)</p>
<h1><strong>How to make it work:</strong></h1>
<p>Let's move on to some direct working example:</p>
<p><em><strong>1. Moves on your master(s):</strong></em></p>
<p><em><strong>1.1 Creating tables for slaves:</strong></em></p>
<p><span style="color: #3366ff">mysql&gt;create database auth_slaves;<br />
mysql&gt;create table auth_slaves.columns_priv like mysql.columns_priv;<br />
mysql&gt;create table auth_slaves.db like mysql.db;<br />
mysql&gt;create table auth_slaves.tables_priv like mysql.tables_priv;<br />
mysql&gt;create table auth_slaves.user like mysql.user;</span></p>
<p>(If you already have different privileges on your slaves, I would recommend a mysql dump instead)</p>
<p><em><strong>1.2 Create a user for your slaves:</strong></em></p>
<p><span style="color: #3366ff">mysql&gt;grant select,insert,update on auth_slaves.* to 'auth_slave_user'@'192.168.1.%' identified by 'auth_4_sl4v3s';</span></p>
<p>You are able to set up different kind of auth users, for example if you only wan't on some of your slaves to be just read only, don't grant other rights, but select. Up to you.</p>
<p>All done on  your master..</p>
<p><em><strong>2. Moves on your slave(s):</strong></em></p>
<p><em><strong>2.1 Create a temporary database</strong></em></p>
<p><span style="color: #3366ff">mysql&gt;create database dropme_auth;</span></p>
<p><em><strong>2.2 Create the tables</strong></em></p>
<p>Now, I don't paste all the table definitions, but execute show create table on each table printed above, copy the result to a txt or something and modify the command to work with federated like in this example:</p>
<p><span style="color: #3366ff">mysql#host:master#db:auth_slaves&gt;show create table user\G<br />
*************************** 1. row ***************************<br />
Table: user<br />
Create Table: CREATE TABLE `user` (<br />
......<br />
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'<br />
1 row in set (0.00 sec)</span></p>
<p>Now all you have to do is modify the engine like: engine = federated CONNECTION='mysql://auth_slave_user:auth_4_sl4v3s@master.host:3306/auth_slaves/user'</p>
<p>So, just create a table driven by federated engine connected to your masters auth_slaves db with the same table names with the same table structure.</p>
<p><em><strong>3. Replace the system tables:</strong></em></p>
<p>In this scenerio you must overwrite the tables in the mysql database folder (for example /var/lib/mysql/mysql) with the tables from your temporary database where you built the federated tables (for example /var/lib/mysql/dropme_auth) like this:  <span style="color: #3366ff">cp /var/lib/mysql/dropme_auth/*.frm /var/lib/mysql/mysql/</span> .</p>
<p><span style="color: #ff0000">Don't use '*' in the cp, it's even better if you copy every table one by one.<br />
Take care of the privileges after the copy.</span></p>
<p>4. <em><strong>Execute a simple select query</strong></em> like<span style="color: #3366ff"> select * from mysql.user</span>. If you can see the same what is on your master, you are done. If not, hmm. Thats a kind of a problem <img src='http://blog.mysql-mmm.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h1><strong>What if connection broken?</strong></h1>
<p>Nothing will happen unless you execute flush privileges. Because as we all know, mysql cache the authentication tables and doesn't load the content again until flushing of privileges.</p>
<h1><strong>What about flush privileges?</strong></h1>
<p>The question you will consider soon if you build this up: Ok wait, how can I modify authentication settings now?! The answer is so simple, just make it on any of your slaves and it will affect the tables stored on your master. When you done, if the documentation correct, execute flush privileges command on your master and all your slaves will reload the modified tables.</p>
<h1><strong>Benefits:</strong></h1>
<p>The most important is what used to be when you move on to centralized authentication.</p>
<ul>
<li>You only need to maintain the privileges on one of your slaves instead of a lots.</li>
<li>In this case, you don't have to keep the same privileges for your masters and slaves and you don't have to replicate the mysql database.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2009/10/centralized-authentication-with-mysql/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Verify master-master[&#124;&#124;-slave] data consistency without locking or downtime</title>
		<link>http://blog.mysql-mmm.org/2009/08/verify-master-master-slave-data-consistency-between-masters-without-locking-or-downtime/</link>
		<comments>http://blog.mysql-mmm.org/2009/08/verify-master-master-slave-data-consistency-between-masters-without-locking-or-downtime/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 15:38:00 +0000</pubDate>
		<dc:creator>istvan_podor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[consistency]]></category>
		<category><![CDATA[maatkit]]></category>
		<category><![CDATA[mmm]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[production]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=29</guid>
		<description><![CDATA[We all knew that we are risking with MMM. Risking, and placing availability as a more important like consistency.  But non of us can risk loosing data forever but we show using it, regarding to our conversations think:  "I can fix my data later on, but I can’t turn back time and prevent the downtime. [...]]]></description>
			<content:encoded><![CDATA[<p>We all knew that we are risking with MMM. Risking, and placing availability as a more important like consistency.  But non of us can risk loosing data forever but we show using it, regarding to our conversations think:  "I can fix my data later on, but I can’t turn back time and prevent the downtime. (Pascal Hofmann@xaprb.com)".</p>
<p>As I wrote before about staying online, now let me write about how to stay consistent.</p>
<p>We all know, mmm is not like a key of salvation, but its getting close to it <img src='http://blog.mysql-mmm.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . While MySQL doesn't support multi-master-slave environments from it's source code, we will sleep badly wondering on the safety of our precious databases.</p>
<p>But its not just about MMM, a few days ago we ran in to a well known InnoDB "feature". Its about the auto increment counter determination on restart. InnoDB try to count the next auto increment value on MySQL restart what can screw up things in the replication as in your data integrity too (http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html) what could be risky when you are about to use mmm, because you can restart your masters whenever you just want to.</p>
<p>In this post I'm using <a href="http://www.maatkit.org/">maatkit</a> to verify and restore the rows <strong>without locking or downtime</strong>.</p>
<p><span id="more-29"></span></p>
<p><strong>Maatkit:</strong></p>
<p>This is not a success of MMM, but success of maatkit.<br />
I don't want to write about maatkit. Everybody who is able to use MMM were met with maatkit. Great stuff and if you didn't met with it yet, this is the right time. <a href="http://www.maatkit.org/">http://www.maatkit.org</a></p>
<p><strong>Verification between your masters:</strong></p>
<p>This is the hardest part, you CAN'T and/or you SHOULD NOT to avoid manual overview.</p>
<p>I'm using mk-table-sync for this scenerio. As the about say: mk-table-sync finds and fixes data differences between MySQL tables.<br />
This is what we are going to do, but lets consider the possibilities. If we goes trough the help menu, we can see there is a lots of options. Worth going trough of them.</p>
<p>Here is the command I used to execute.</p>
<p><em><strong>mk-table-sync --chunksize 100 --databases mytestdb --lock 1 --transaction --skipbinlog --print  db02 db01</strong></em></p>
<p>And here is the explain:</p>
<p><strong><em>--chunksize 100</em></strong> : Chunksize means the size of the chunks maatkit compare to each other. Mean rows. In this command maatkit compare the tables by chunks which are contain 100 rows. Its an affordable size, Its wont be faster and as I benchmarked neider become slower, but as you will see later, its start a transaction and lock the table. More about locking and transactions later but to understand why I recommend a small chunksize, you have to know that this means that the locking of the table is it in will be a short lock.</p>
<p><em><strong>--database mytestdb</strong></em>: Allows you to give a comma-separated list of databases should be taken care of. In this example I use only one database but as I mentioned you can pass a list of databases you want to scan or what you don't want to scan.</p>
<p><strong>--lock 1</strong>: As I mentioned before, maatkit provide you two kind of "locking". The first one is a real table lock and the second one is the way of using transactions. With innodb tables using transaction is a good choice, more about later, but with MyIsam tables, I think the best way is lock 1 regarding to what I want to do here, syncing online masters to each other. mk-table-sync provide 3 different ways of locking here: "0=none, 1=per sync cycle, 2=per table, or 3=globally" as far as I know, 0 means no locks, thats not a good way if you are about to sync online masters under traffic. Locking each table could be a wrong decision too, in case of a larger table, and globally is the same under usage. So this is why I just picked lock 1 what will lock while it's take care of my chunk (this is why I lowered the chunk size to 100).</p>
<p><strong>--transaction</strong>: This is what i was talking about above. Instead of locking, mk-table-sync able to use transactions . Starting a transaction with a larger chunk size could cause lock-wait-timeout messages as locking can. This is why there is a small chunk size again. You have to listen to your isolation level too. As you know, its could be unsafe under read-committed.</p>
<p><strong>--skipbinlog</strong>: This is the most important part of it. In a multi-master environment syncing without this option is like a suicide. With this, mk-table-sync will execute the fixing queries without logging in to binlog. I should not to mention, that logging to binlog on the slave could really mess up your databases as the other master will replicate and execute it.</p>
<p><strong>--print</strong>: mk-table-sync provide three different (and some of them able to combine) ways to run. First I would recommend is --print. Print will just print to the stdout (what you can forward to file with 1&gt;/your/file/path) but when you redirect the stdout, don't forget when using with --ask-pass that this message won't show up for your <img src='http://blog.mysql-mmm.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . You can use --execute instead. That will execute the queries immediately. I'm always scared by that a little bit so I rather get the output, go over it and execute what I think I should.</p>
<p><strong>db02/db01:</strong> In my example these two hosts are the writable master (at first) and the passive master as a second one.You can use whatever hosts you want. Commands will be executed on the second host.</p>
<p><strong>What to do with your output</strong>: When its done and its find differences, you can find where ever your stdout goes. In thet file or on your screen you can see the queries what mk-table-sync would execute to make your passive master consistent. Now its up to you what to do with this information. You can execute each of the or re-run the sync with --execute instead of --print.</p>
<p><strong>Syncing slaves</strong></p>
<p>If you done with your masters, you can sync the slaves on the same way, but you can use the already consistent passive master of your to sync from. Both maatkit and mmm provide some very useful scripts to rebuild slaves and you always got a passive master to do from. With this you are free to rebuild your cluster whenever you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2009/08/verify-master-master-slave-data-consistency-between-masters-without-locking-or-downtime/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Some use-cases for MMM for MySQL</title>
		<link>http://blog.mysql-mmm.org/2009/08/some-use-cases-for-mmm-for-mysql/</link>
		<comments>http://blog.mysql-mmm.org/2009/08/some-use-cases-for-mmm-for-mysql/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 08:00:35 +0000</pubDate>
		<dc:creator>istvan_podor</dc:creator>
				<category><![CDATA[Use cases]]></category>
		<category><![CDATA[mmm]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[production environment]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=5</guid>
		<description><![CDATA[In this blog, I would like to mark myself as a power-user of MMM.  For more then 3 years now I'm engineering high-traffic websites and none of them was a small project. In the beginning I worked behind the livejasmin.com project (warning: NSFW!) which is an Alexa top100 site and now I'm working at ustream.tv [...]]]></description>
			<content:encoded><![CDATA[<p>In this blog, I would like to mark myself as a power-user of MMM.  For more then 3 years now I'm engineering high-traffic websites and none of them was a small project. In the beginning I worked behind the livejasmin.com project (warning: NSFW!) which is an Alexa top100 site and now I'm working at ustream.tv which is in the top500 (so far). In this area, your greatest enemy is downtime. Thousands of users want to see your dynamic content by executing thousand of queries against your MySQL servers and what they don't have is the patience and they don't even tolerate critical security-upgrades. In both sites I mentioned above there is no point in time during the day at which less then 10k visitors are hitting the sites.  Now one question comes up: How can you do an upgrade on your MySQL servers or how can you alter a larger table?<br />
So you have a new feature and that means another index on a table or you just want to upgrade your application, there's no chance that your downtime will be hidden. We all know, even if you run your site with no downtime for months, 1 minute can make your bosses forget about that and ask you THE question: "What has happened?". If you would say: "There was no problem, I just took down the site to upgrade MySQL", you won't be the employee of the month.</p>
<p>So let's see  how can MMM help:</p>
<p><span id="more-5"></span></p>
<p><strong>Modifications in your database, backup or maintenance:</strong></p>
<p>For a lot of people these words could mean different things, so what I would like to mention is how MMM can help with that.</p>
<p>Just imagine a typical issue: a new column should be added to a large table.</p>
<p>If you have DRBD, NDB or actually nothing at all, this will make you cry if that table is large enough. This could mean different size for everyone, but lets say 25GB with 1,5 million rows. You can see each row size is not small at all. Adding a column even with a pretty fast, but standalone (not clustered like ndb or different sharding techniques) this could take up 4-5 minutes. Taking your site down for minutes is just not a possibility.</p>
<p>What would you or your developers do to avoid this scenario? A few times, I have seen them create a new table and later execute joins or multiple queries on that. That's really not good for us. (<a title="mysql performance blog" href="http://www.mysqlperformanceblog.org" target="_blank">here you can find more answers on performance impacts</a>). So lets say you have a chance to alter the table without downtime. MMM can do it for you.</p>
<p>All you have to do is:</p>
<ul>
<li> Define the new column (at least in the beginning) with a possible NULL (but that isn't really good for us too) or with a default value to make it possible that your table will work with the current application and replication together without failed replication or failed queries. What I mean is: let's say you have a table with the following columns: id int(8) auto_increment, sometext varchar(32) NOT NULL and you want to add a column to the end say insertdate datetime default NOW() at the end.</li>
</ul>
<p>So lets see our possibilities: At first, if the developers would handle it, you would have another table, lets say date_of_join which would contain the same id that you can find in the table above and every time when they want to insert in to the first table, they would write the first and our new table too. And when they want to select something that would mean at least two queries which is really not so good for us. So the first thing you have to take care is: <em>Always made changes what would work perfectly with your current architecture/application</em>.</p>
<ul>
<li>Start executing alter command on each server of yours one-by-one (except your current active master) and on those servers which serve as a master (too), use sql_log_bin = 0 for this query! And this is important.  With this option, you can alter each server and finally move the writer role with MMM to another server and alter the last one too.</li>
</ul>
<p>I already went trough this for a few times. Pretty smooth.</p>
<p><strong>Upgrade:</strong></p>
<p>Another problem with MySQL that is its a single-point of failure. In the most cases (except ndb) you cant  afford to loose your master. So every single modification will cost a lot. You can't upgrade. Now this problem is solved with MMM. All you have to take care is the correct, planned and exact ORDER of upgrading.</p>
<p>What I mean is you have to start upgrading from the bottom. First upgrade your slaves and when they done, upgrade the passive master and finally, move the writer role with MMM by the command set_offline. And set_offline is (could be) very important. Because if you move the writer rule to your passive, but upgraded master, maybe its execute queries in a different way what your lower version MySQL don't understand. Moving roles with set_offline will stop replication and you have time to upgrade safely. But I have to mention that you are risking downtime again but on a different way. Moving to a newer version (5.0&gt;5.1) could be VERY risky without proper testing. Take care about that.</p>
<p>I hope I gave you some good advices.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2009/08/some-use-cases-for-mmm-for-mysql/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Welcome to the MMM Community Blog</title>
		<link>http://blog.mysql-mmm.org/2009/08/welcome-to-the-mmm-community-blog/</link>
		<comments>http://blog.mysql-mmm.org/2009/08/welcome-to-the-mmm-community-blog/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 12:10:58 +0000</pubDate>
		<dc:creator>walterheck</dc:creator>
				<category><![CDATA[announcements]]></category>
		<category><![CDATA[mmm]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.mysql-mmm.org/?p=13</guid>
		<description><![CDATA[This is the first post on the brand spanking new MMM for MySQL Community Blog. Expect posts on new features for this great project. Expect user experiences.
So, your question is of course: what is MMM for MySQL and why haven't I heard of this before?
Well, MMM for MySQL is a project that strives to provide [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first post on the brand spanking new MMM for MySQL Community Blog. Expect posts on new features for this great project. Expect user experiences.</p>
<p>So, your question is of course: what is MMM for MySQL and why haven't I heard of this before?</p>
<p>Well, MMM for MySQL is a project that strives to provide a HA Solution for MySQL, with automatic failover between multiple masters and slaves. If set up properly, you don't have to worry anymore over downtime for upgrading to a new version of MySQL, or a new version of your application (=&gt; large alter tables, addition of indexes, etc.)</p>
<p>The project has recently reached it's version 2, which is a complete rewrite from scratch. We are now slowly seeing this being put into production, with some success stories making us happy already.</p>
<p>I won't make it too long here, but look forward to hear more from us!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mysql-mmm.org/2009/08/welcome-to-the-mmm-community-blog/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
