<?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>Open Query blog &#187; mariadb</title>
	<atom:link href="http://openquery.com/blog/tag/mariadb/feed" rel="self" type="application/rss+xml" />
	<link>http://openquery.com/blog</link>
	<description>About MySQL, Drizzle, MariaDB and more!</description>
	<lastBuildDate>Sun, 29 Apr 2012 23:48:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>MariaDB User Feedback plugin</title>
		<link>http://openquery.com/blog/mariadb-user-feedback-plugin</link>
		<comments>http://openquery.com/blog/mariadb-user-feedback-plugin#comments</comments>
		<pubDate>Tue, 03 Apr 2012 04:21:06 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1604</guid>
		<description><![CDATA[MariaDB includes a User Feedback plugin. When enabled, the plugin submits basic, completely anonymous MariaDB usage information. This information is used by the developers to track trends in MariaDB usage to better guide development efforts. To help make MariaDB better, simply add &#8220;plugin-load=feedback.so&#8221; to your my.cnf file! On Windows, add &#8221;feedback=ON&#8221; to your my.ini file, or [...]]]></description>
			<content:encoded><![CDATA[<p>MariaDB includes a User Feedback plugin. When enabled, the plugin submits basic, completely anonymous MariaDB usage information. This information is used by the developers to track trends in MariaDB usage to better guide development efforts.</p>
<p>To help make MariaDB better, simply add &#8220;<strong>plugin-load=feedback.so</strong>&#8221; to your <em>my.cnf</em> file! On Windows, add &#8221;<strong>feedback=ON</strong>&#8221; to your <em>my.ini</em> file, or click the checkbox during the installation of the MSI package.</p>
<p>See <a href="http://kb.askmonty.org/en/user-feedback-plugin" target="_blank">http://kb.askmonty.org/en/user-feedback-plugin</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/mariadb-user-feedback-plugin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Query training at Drupal DownUnder 2012</title>
		<link>http://openquery.com/blog/open-query-training-drupal-downunder-2012</link>
		<comments>http://openquery.com/blog/open-query-training-drupal-downunder-2012#comments</comments>
		<pubDate>Wed, 07 Dec 2011 04:00:56 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[DDU]]></category>
		<category><![CDATA[DownUnder]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[melbourne]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1597</guid>
		<description><![CDATA[DrupalDownUnder 2012 will be held in Melbourne Australia 13-15 January. A great event, I&#8217;ve been to several of its predecessors. People there don&#8217;t care an awful lot for databases, but they do realise that sometimes it&#8217;s important to either learn more about it or talk to someone specialised in that field. And when discussing general [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Drupal DownUnder site" href="http://drupaldownunder.org/" target="_blank">DrupalDownUnder</a> 2012 will be held in Melbourne Australia 13-15 January. A great event, I&#8217;ve been to several of its predecessors. People there don&#8217;t care an awful lot for databases, but they do realise that sometimes it&#8217;s important to either learn more about it or talk to someone specialised in that field. And when discussing general infrastructure, resilience is quite relevant. Clients want a site to remain up, but keep costs low.</p>
<p>I will teach <a href="http://drupaldownunder.org/training-drupal-downunder" target="_blank">pre-conference training sessions</a> on the Friday at DDU:</p>
<ul>
<li><a href="http://drupaldownunder.org/ticket/mysql-query-design" target="_blank">MySQL Query Design</a> ($220 half-day)</li>
<li><a href="http://drupaldownunder.org/ticket/mysql-server-tuning" target="_blank">MySQL Server Tuning</a> ($220 half-day)</li>
</ul>
<p>The material is made specific to Drupal developers and users. The query design skills, for instance, will help you with module development and designing Drupal Views. The two half-days can also be booked as a <a href="http://drupaldownunder.org/mysql-training-pack" target="_blank">MySQL Training Pack</a> for $395.</p>
<p>On Saturday afternoon in the main conference, I have a session <a href="http://drupaldownunder.org/session/scaling-out-your-drupal-and-database-infrastructure-affordably" target="_blank">Scaling out your Drupal and Database Infrastructure, Affordably</a> covering the topics of resilience, ease of maintenance, and scaling.</p>
<p>I&#8217;m honoured to have been selected to do these sessions, I know there were plenty of submissions from excellent speakers. As with all Drupal conferences, attendees also vote on which submissions they would like to see.</p>
<p>After DDU I&#8217;m travelling on to Ballarat for LinuxConfAU 2012, where I&#8217;m not speaking in the main program this year, but will have sessions in the &#8220;High Availability and Storage&#8221; and &#8220;Business of Open Source&#8221; <a href="http://linux.conf.au/programme/miniconfs" target="_blank">miniconfs</a>. I&#8217;ll do another post on the former &#8211; the latter is not related to Open Query.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/open-query-training-drupal-downunder-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Locking and Transactions &#8211; OSDC 2011 video</title>
		<link>http://openquery.com/blog/sql-locking-transactions-osdc-2011-video</link>
		<comments>http://openquery.com/blog/sql-locking-transactions-osdc-2011-video#comments</comments>
		<pubDate>Thu, 24 Nov 2011 02:10:30 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[concurrency]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[locking]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[osdc]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[transactions]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1583</guid>
		<description><![CDATA[This recent session at OSDC 2011 Canberra is based on part of an Open Query training day, and (due to time constraints) without much of the usual interactivity, exercises and further MySQL specific detail. People liked it anyway, which is nice! The info as presented is not MySQL specific, it provides general insight in how [...]]]></description>
			<content:encoded><![CDATA[<p>This recent session at OSDC 2011 Canberra is based on part of an Open Query training day, and (due to time constraints) without much of the usual interactivity, exercises and further MySQL specific detail. People liked it anyway, which is nice! The info as presented is not MySQL specific, it provides general insight in how databases implement concurrency and what trade-offs they make.</p>
<p>See <a href="http://2011.osdc.com.au/SQLL" target="_blank">http://2011.osdc.com.au/SQLL</a> for the talk abstract.</p>
<p><iframe src="http://www.youtube.com/embed/q4huyAkKKTM" frameborder="0" width="450" height="259"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/sql-locking-transactions-osdc-2011-video/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Green HDs and RAID Arrays</title>
		<link>http://openquery.com/blog/green-hds-raid-arrays</link>
		<comments>http://openquery.com/blog/green-hds-raid-arrays#comments</comments>
		<pubDate>Mon, 26 Sep 2011 02:37:22 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Software and tools]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Green]]></category>
		<category><![CDATA[harddisk]]></category>
		<category><![CDATA[hd]]></category>
		<category><![CDATA[HDD]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[SATA]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1562</guid>
		<description><![CDATA[Some so-called &#8220;Green&#8221; harddisks don&#8217;t like being in a RAID array. These are primarily SATA drives, and they gain their green credentials by being able reduce their RPM when not in use, as well as other aggressive power management trickery. That&#8217;s all cool and in a way desirable &#8211; we want our hardware to use [...]]]></description>
			<content:encoded><![CDATA[<p>Some so-called &#8220;Green&#8221; harddisks don&#8217;t like being in a RAID array. These are primarily SATA drives, and they gain their green credentials by being able reduce their RPM when not in use, as well as other aggressive power management trickery. That&#8217;s all cool and in a way desirable &#8211; we want our hardware to use less power whenever possible! &#8211; but the time it takes some drives to &#8220;wake up&#8221; again is longer than a RAID setup is willing to tolerate.</p>
<p>First of all, you may wonder why I bother with SATA disks at all for RAID. I&#8217;ve written about this before, but they simply deliver plenty for much less money. Higher RPM doesn&#8217;t necessarily help you for a db-related (random access) workload, and for tasks like backups which do have a lot of speed may not be a primary concern. SATA disks have a shorter command queue than SAS, so that means they might need to seek more &#8211; however a smart RAID controller would already arrange its I/O in such a way as to optimise that.</p>
<p>The particular application where I tripped over Green disks was a backup array using software RAID10. Yep, a cheap setup &#8211; the objective is to have lots of diskspace with resilience, and access speed is not a requirement.</p>
<p>Not all Green HDs are the same. Western Digital ones allow their settings to be changed, although that does need a DOS tool (just a bit of a pest using a USB stick with FreeDOS and the WD tool, but it&#8217;s doable), whereas Seagate has decided to restrict their Green models such that they don&#8217;t accept any APM commands and can&#8217;t change their configuration.</p>
<p>I&#8217;ve now replaced Seagates with (non-Green) Hitachi drives, and I&#8217;m told that Samsung disks are also ok.</p>
<p>So this is something to keep in mind when looking at SATA RAID arrays. I also think it might be a topic that the Linux software RAID code could address &#8211; if it were &#8220;Green HD aware&#8221; it could a) make sure that they don&#8217;t go to a state that is unacceptable, and b) be tolerant with their response time &#8211; this could be configurable. Obviously, some applications of RAID have higher demands than others, not all are the same.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/green-hds-raid-arrays/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Query looking for new colleagues!</title>
		<link>http://openquery.com/blog/open-query-colleagues</link>
		<comments>http://openquery.com/blog/open-query-colleagues#comments</comments>
		<pubDate>Thu, 15 Sep 2011 04:42:05 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1558</guid>
		<description><![CDATA[My colleagues and I are looking for extra talent &#8211; is that you? What we do:help clients prevent problems (rather than being the fire department), we work on a subscription basis although we also do some ad-hoc consulting, and training. Apart from MySQL/MariaDB query and DBA work, we do quite a bit of system administration. [...]]]></description>
			<content:encoded><![CDATA[<p>My colleagues and I are looking for extra talent &#8211; is that you?</p>
<p><strong>What we do:</strong>help clients prevent problems (rather than being the fire department), we work on a subscription basis although we also do some ad-hoc consulting, and training. Apart from MySQL/MariaDB query and DBA work, we do quite a bit of system administration. Mainly Red Hat and Debian based distros, and expect to see replication and the MySQL-MMM multi-master system. You&#8217;d work from home, whereever it might be, so you will need to be self-motivating (but we do keep in touch online).</p>
<p><strong>What we&#8217;re not:</strong> a full-time employer. With us, you make a life rather than a living. Everybody is contracted part-time. You can make enough to live comfortably, but that has nothing to do with hours. If you&#8217;re stressed about not filling all hours in your week with work-work-work, we&#8217;re not the company for you&#8230; there&#8217;s more to life than work, and we feel that&#8217;s really important.</p>
<p>Haven&#8217;t scared you off yet? Groovy. Take a peek at our <a href="http://openquery.com/company/jobs">jobs</a> page for additional detail and contact info. Hope to hear from you!</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/open-query-colleagues/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Password Strength</title>
		<link>http://openquery.com/blog/password-strength</link>
		<comments>http://openquery.com/blog/password-strength#comments</comments>
		<pubDate>Thu, 11 Aug 2011 00:38:17 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Good practice / Bad practice]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[entropy]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xkcd]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1520</guid>
		<description><![CDATA[XKCD (as usual) makes a very good point &#8211; this time about password strength, and I reckon it&#8217;s something app developers need to consider urgently. Geeks can debate the exact amount of entropy, but that&#8217;s not really the issue: insisting on mixed upper/lower and/or non-alpha and/or numerical components to a user password does not really [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xkcd.com/936/" target="_blank">XKCD</a> (as usual) makes a very good point &#8211; this time about password strength, and I reckon it&#8217;s something app developers need to consider urgently. Geeks can debate the exact amount of entropy, but that&#8217;s not really the issue: insisting on mixed upper/lower and/or non-alpha and/or numerical components to a user password does not really improve security, and definitely makes life more difficult for users.</p>
<p>So basically, the functions that do a &#8220;is this a strong password&#8221; should seriously reconsider their approach, particularly if they&#8217;re used to have the app decide whether to accept the password as &#8220;good enough&#8221; at all.</p>
<p><a href="http://xkcd.com/936/" target="_blank"><img class="alignnone" src="http://imgs.xkcd.com/comics/password_strength.png" alt="" width="518" height="421" /></a></p>
<p>Update: Jeff Preshing has written an <a href="http://preshing.com/20110811/xkcd-password-generator" target="_blank">xkcd password generator</a>. Users probably should choose their own four words, but it&#8217;s a nice example and a similar method could be used by an app to give &#8220;password suggestions&#8221; that are still safe.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/password-strength/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HDlatency &#8211; now with quick option</title>
		<link>http://openquery.com/blog/hdlatency-quick-option</link>
		<comments>http://openquery.com/blog/hdlatency-quick-option#comments</comments>
		<pubDate>Thu, 16 Jun 2011 08:31:07 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Software and tools]]></category>
		<category><![CDATA[hdlatency]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[latency]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[SAN]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1508</guid>
		<description><![CDATA[I&#8217;ve done a minor update to the hdlatency tool (get it from Launchpad), it now has a &#8211;quick option to have it only do its tests with 16KB blocks rather than a whole range of sizes. This is much quicker, and 16KB is the InnoDB page size so it&#8217;s the most relevant for MySQL/MariaDB deployments. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done a minor update to the hdlatency tool (<a href="https://lauchpad.net/hdlatency">get it from Launchpad</a>), it now has a &#8211;quick option to have it only do its tests with 16KB blocks rather than a whole range of sizes. This is much quicker, and 16KB is the InnoDB page size so it&#8217;s the most relevant for MySQL/MariaDB deployments.</p>
<p>However, I didn&#8217;t just remove the other stuff, because it can be very helpful in tracking down problems and putting misconceptions to rest. On SANs (and local RAID of course) you have things like block sizes and stripe sizes, and opinions on what might be faster. Interestingly, the real world doesn&#8217;t always agree with the opinions.</p>
<p>We Mark Callaghan correctly pointed out when I first published it, hdlatency does not provide anything new in terms of functionality, the db IO tests of sysbench cover it all. A key advantage of hdlatency is that it doesn&#8217;t have any dependencies, it&#8217;s a small single piece of C code that&#8217;ll compile on or can run on very minimalistic environments. We often don&#8217;t control what the base environment we have to work on is, so that&#8217;s why hdlatency was initially written. It&#8217;s just a quick little tool that does the job.</p>
<p>We find hdlatency particularly useful for comparing environments, primarily at the same client. For instance, the client might consider moving from one storage solution to another &#8211; well, in that case it&#8217;s useful to know whether we can expect an actual performance benefit.</p>
<p>The burst data rate (big sequential read or write) which often gets quoted for a SAN or even an individual disk is of little interest to database use, since its key performance bottleneck lies in random access I/O. The disk head(s) will need to move. So it&#8217;s important to get some real relevant numbers, rather than just go with magic vendor numbers that are not really relevant to you. Also, you can have a fast storage system attached via a slow interface, and consequentially the performance then will not be at all what you&#8217;d want to see. It can be quite bad.</p>
<p>To get an absolute baseline on what are sane numbers, run hdlatency also on a local desktop HD. This may seem odd, but you might well encounter storage systems that show a lower performance than that. &#8216;nuf said.</p>
<p>If you&#8217;re willing to share, I&#8217;d be quite interested in seeing some (&#8211;quick) output data from you &#8211; just make sure you tell what storage it is: type of interface, etc. Simply drop it in a comment to this post, so it can benefit more people. thanks</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/hdlatency-quick-option/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides from DrupalDownUnder2011 on Tuning for Drupal</title>
		<link>http://openquery.com/blog/slides-drupaldownunder2011-tuning-drupal</link>
		<comments>http://openquery.com/blog/slides-drupaldownunder2011-tuning-drupal#comments</comments>
		<pubDate>Thu, 16 Jun 2011 05:41:01 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[DrupalDownUnder]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[tuning]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1502</guid>
		<description><![CDATA[By popular request, here&#8217;s the PDF of the slides of this talk as presented in January 2011 in brisbane; it&#8217;s fairly self-explanatory. Note that it&#8217;s not really extensive &#8220;tuning&#8221;, it just fixes up a few things that are usually &#8220;wrong&#8221; in default installs, creating a more sane baseline. If you want to get to optimal [...]]]></description>
			<content:encoded><![CDATA[<p>By popular request, here&#8217;s the <a href="http://openquery.com/blog/wp-content/uploads/2011/06/Open-Query-DrupalDownUnder2011-MySQL-server-tuning-not-an-optional-extra.pdf">PDF of the slides</a> of this talk as presented in January 2011 in brisbane; it&#8217;s fairly self-explanatory. Note that it&#8217;s not really extensive &#8220;tuning&#8221;, it just fixes up a few things that are usually &#8220;wrong&#8221; in default installs, creating a more sane baseline. If you want to get to optimal correctness and more performance, other things do need to be done as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/slides-drupaldownunder2011-tuning-drupal/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Query, new on Fifth Ave</title>
		<link>http://openquery.com/blog/open-query-fifth-ave</link>
		<comments>http://openquery.com/blog/open-query-fifth-ave#comments</comments>
		<pubDate>Fri, 01 Apr 2011 02:22:35 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1456</guid>
		<description><![CDATA[Some of you already know since you helped us move, we recently shifted Open Query&#8217;s main office to Fifth Avenue, next door to Elizabeth&#8217;s. The new place is comfortable, I really like it so far. Anna is also happy with her new admin space and cat Figaro has found an empty spot on a bookshelf [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you already know since you helped us move, we recently shifted Open Query&#8217;s main office to Fifth Avenue, next door to Elizabeth&#8217;s. The new place is comfortable, I really like it so far. Anna is also happy with her new admin space and cat Figaro has found an empty spot on a bookshelf to stretch out on!</p>
<p>The lease costs are a bit steep, as is common these days&#8230; chances are we&#8217;ll just buy our next place.</p>
<hr />
<p><strong>Follow-Up</strong> yes this was an April 1st post. But, everything in the above post is the truth, it&#8217;s just phrased to be very open for a bit of mis-interpretation <img src='http://openquery.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I find that the real world provides plenty of fun and unbelievable yet true tidbits, so why bother making up nonsense!</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/open-query-fifth-ave/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL data backup: going beyond mysqldump</title>
		<link>http://openquery.com/blog/mysql-data-backup-mysqldump</link>
		<comments>http://openquery.com/blog/mysql-data-backup-mysqldump#comments</comments>
		<pubDate>Tue, 29 Mar 2011 00:25:12 +0000</pubDate>
		<dc:creator>arjen</dc:creator>
				<category><![CDATA[Good practice / Bad practice]]></category>
		<category><![CDATA[Software and tools]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mariadb]]></category>
		<category><![CDATA[mmm]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[xtrabackup]]></category>

		<guid isPermaLink="false">http://openquery.com/blog/?p=1446</guid>
		<description><![CDATA[A user on a linux user group mailing list asked about this, and I was one of the people replying. Re-posting here as I reckon it&#8217;s of wider interest. &#62; [...] tens of gigs of data in MySQL databases. &#62; Some in memory tables, some MyISAM, a fair bit InnoDB. According to my &#62; understanding, [...]]]></description>
			<content:encoded><![CDATA[<p>A user on a linux user group mailing list asked about this, and I was one of the people replying. Re-posting here as I reckon it&#8217;s of wider interest.</p>
<p>&gt; [...] tens of gigs of data in MySQL databases.<br />
&gt; Some in memory tables, some MyISAM, a fair bit InnoDB. According to my<br />
&gt; understanding, when one doesn&#8217;t have several hours to take a DB<br />
&gt; offline and do dbbackup, there was/is ibbackup from InnoBase.. but now<br />
&gt; that MySQL and InnoBase have both been &#8216;Oracle Enterprised&#8217;, said<br />
&gt; product is now restricted to MySQL Enterprise customers..<br />
&gt;<br />
&gt; Some quick searching has suggested Percona XtraBackup as a potential<br />
&gt; FOSS alternative.<br />
&gt; What backup techniques do people employ around these parts for backups<br />
&gt; of large mixed MySQL data sets where downtime *must* be minimised?<br />
&gt;<br />
&gt; Has your backup plan ever been put to the test?</p>
<p>You should put it to the test regularly, not just when it&#8217;s needed.<br />
An untested backup is not really a backup, I think.</p>
<p>At  <a href="http://openquery.com/" target="_blank">Open Query</a> we tend to use dual master setups with MMM, other  replication slaves, mysqldump, and XtracBackup or LVM snapshots. It&#8217;s  not just about having backups, but also about general resilience,  maintenance options, and scalability. I&#8217;ll clarify:</p>
<ul>
<li>XtraBackup and LVM give you physical backups. that&#8217;s nice if you want to  recover or clone a complete instance as-is. But if anything is wrong,  it&#8217;ll be all stuffed (that is, you can sometimes recover InnoDB  tablespaces and there are tools for it, but time may not be on your  side). Note that LVM cannot snapshot between multiple volumes  consistently, so if you have your InnoDB ibdata/IBD files and iblog  files on separate spindles, using LVM is not suitable.</li>
</ul>
<ul>
<li>mysqldump for logical (SQL) backups. Most if not all setups should have  this. Even if the file(s) were to be corrupted, they&#8217;re still readable  since it&#8217;s plain SQL. You can do partial restores, which is handy in  some cases. It&#8217;ll be slower to load so having *only* an SQL dump of a  larger dataset is not a good idea.</li>
</ul>
<ul>
<li>some of the above backups  can and should *also* be copied off-site. that&#8217;s for extra safety, but  in terms of recovery speed it may not be optimal and should not be  relied upon.</li>
</ul>
<ul>
<li>having dual masters is for easier maintenance  without scheduled outages, as well as resilience when for instance  hardware breaks (and it does).</li>
</ul>
<ul>
<li>slaves. You can even delay a  slave (Maatkit has a tool for this), so that would give you a live  correct image even in case of a user error, provided you get to it in  time. Also, you want enough slack in your infra to be able to initialise  a new slave off an existing one. Scaling up at a time when high load is  already occurring can become painful if your infra is not prepared for  it.</li>
</ul>
<p><strong>A key issue to consider is this&#8230; if the dataset is  sufficiently large, and the online requirements high enough, you can&#8217;t  afford to just have backups. Why? Because, how quickly can you deploy  new suitable hardware, install OS, do restore, validate, put back  online?</strong></p>
<p><em>In many cases one or more aspects of the above list simply  take too long, so my summary would be &#8220;then you don&#8217;t really have a  backup&#8221;. Clients tend to argue with me on that, but only fairly briefly, until  they see the point: if a restore takes longer than you can afford, that  backup mechanism is unsuitable.</em></p>
<p>So, we use a combination of tools  and approaches depending on needs, but in general terms we aim for  keeping the overall environment online (individual machines can and will  fail! relying on a magic box or SAN to not fail *will* get you bitten)  to vastly reduce the instances where an actual restore is required.<br />
Into  that picture also comes using separate test/staging servers to not have  developers stuff around on live servers (human error is an important  cause of hassles).</p>
<p>In our training modules, we&#8217;ve combined the  backups, recovery and replication topics as it&#8217;s clearly all intertwined  and overlapping. Discussing backup techniques separate from replication  and dual master setups makes no sense to us. It needs to be put in  place with an overall vision.</p>
<p>Note that a SAN is not a backup strategy. And neither is replication on its own.</p>
]]></content:encoded>
			<wfw:commentRss>http://openquery.com/blog/mysql-data-backup-mysqldump/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
