<?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>Ich bin root &#187; mysql</title>
	<atom:link href="http://ichbinroot.de/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://ichbinroot.de</link>
	<description>ich darf das!</description>
	<lastBuildDate>Fri, 13 Jan 2012 13:49:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>FlashCache</title>
		<link>http://ichbinroot.de/2010/08/flashcache/</link>
		<comments>http://ichbinroot.de/2010/08/flashcache/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 08:12:07 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[programmtipps]]></category>
		<category><![CDATA[ssd]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=181</guid>
		<description><![CDATA[FlashCache &#8211; a general purpose writeback block cache for Linux.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.facebook.com/note.php?note_id=388112370932">FlashCache &#8211; a general purpose writeback block cache for Linux.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2010/08/flashcache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tnark! &#8230;oder Amarok 2 ist Käse :/</title>
		<link>http://ichbinroot.de/2009/05/tnark-oder-amarok-2-ist-kase/</link>
		<comments>http://ichbinroot.de/2009/05/tnark-oder-amarok-2-ist-kase/#comments</comments>
		<pubDate>Fri, 01 May 2009 08:48:32 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[amarok]]></category>
		<category><![CDATA[amarok2]]></category>
		<category><![CDATA[musik]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[tnark]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=58</guid>
		<description><![CDATA[Da will man für seine Autofahrt noch schnell eine CD zusammenstellen, sucht und sammelt sich seine Lieder in Amarok 2 zusammen wie man es gewohnt ist&#8230; und dann kriegt man die Playliste nicht abgespeichert. Bei Amarok 1 gab es ja den Menüpunkt &#8220;Brennen mit k3b&#8221;. Klick, Rohling rein, plutsch CD fertig. Neeeee, gibts nicht mehr [...]]]></description>
			<content:encoded><![CDATA[<p>Da will man für seine Autofahrt noch schnell eine CD zusammenstellen, sucht und sammelt sich seine Lieder in Amarok 2 zusammen wie man es gewohnt ist&#8230; und dann kriegt man die Playliste nicht abgespeichert. Bei Amarok 1 gab es ja den Menüpunkt &#8220;Brennen mit k3b&#8221;. Klick, Rohling rein, plutsch CD fertig. Neeeee, gibts nicht mehr bei Amarok 2. Das &#8220;Playlist speichern&#8221; ist auch völlig ohne Funktion&#8230;</p>
<p>Natürlich hat der Frickler in mir nicht aufgegeben! Amarok 2 speichert seine ganzen Daten in einer Embedded MySQL Datenbank. Darauf kann man auch einen ganz normalen mysqld starten.</p>
<pre>cd ~/.kde/share/apps/amarok/
/usr/sbin/mysqld --defaults-file=`pwd`/my.cnf --default-storage-engine=MyISAM --datadir=`pwd`/mysqle --socket=`pwd`/sock --skip-grant-tables
mysql -S ~/.kde/share/apps/amarok/sock
select url from playlist_tracks where playlist_id=(select max(playlist_id) from playlist_tracks);</pre>
<p>So gehts! War doch ganz einfach! Narv!</p>
<p>PS: Ok, man kriegt dann urlencodete Dateinamen mit einem file:// vorne dran, aber sowas ist ja mit einem kleinen Script schnell bereinigt. <img src='http://ichbinroot.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2009/05/tnark-oder-amarok-2-ist-kase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>InnoDB konfigurieren</title>
		<link>http://ichbinroot.de/2008/02/innodb-konfigurieren/</link>
		<comments>http://ichbinroot.de/2008/02/innodb-konfigurieren/#comments</comments>
		<pubDate>Sun, 03 Feb 2008 13:34:00 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[anleitungen]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=24</guid>
		<description><![CDATA[Eigentlich sollte an dieser Stelle ein (leienhafter) Beitrag von mir zur Konfiguration von InnoDB (ent)stehen. MySQL-Gott Isotopp ist mir zuvor gekommen. Besser kann man es denke ich nicht erklären. Danke!]]></description>
			<content:encoded><![CDATA[<p>Eigentlich sollte an dieser Stelle ein (leienhafter) Beitrag von mir zur Konfiguration von InnoDB (ent)stehen. <a mce_href="http://blog.koehntopp.de/archives/1059-In-with-the-out,-old-with-the-new....html" href="http://blog.koehntopp.de/archives/1059-In-with-the-out,-old-with-the-new....html">MySQL-Gott</a> <a mce_href="http://blog.koehntopp.de/" href="http://blog.koehntopp.de/">Isotopp</a> ist mir <a mce_href="http://blog.koehntopp.de/archives/1997-Die-InnoDB-Storage-Engine-Konfiguration.html" href="http://blog.koehntopp.de/archives/1997-Die-InnoDB-Storage-Engine-Konfiguration.html">zuvor gekommen</a>. Besser kann man es denke ich nicht erklären. Danke!</p>
<p></p>
<p><span id="more-24"></span>
<p><br mce_bogus="1"></p>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2008/02/innodb-konfigurieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL-Käferjagd</title>
		<link>http://ichbinroot.de/2008/02/mysql-kaferjagd/</link>
		<comments>http://ichbinroot.de/2008/02/mysql-kaferjagd/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 16:36:34 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[bug]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=25</guid>
		<description><![CDATA[Für einen neuen, dicken Datenbankserver (8 CPU-Kerne, 16GB RAM) habe ich eine passende MySQL-Version gesucht. Dabei bin ich auf einige &#8211; teilweise sehr beunruhigende &#8211; Bug-Reports gestoßen. MySQL 5.0.32 Community Eigentlich wollte ich das MySQL-Paket von Debian etch verwenden. Dann stiess ich im MySQL Performance Blog auf Bug #15815. Hier die kurze Erklärung von Vadim [...]]]></description>
			<content:encoded><![CDATA[<p>Für einen neuen, dicken Datenbankserver (8 CPU-Kerne, 16GB RAM) habe ich eine <a mce_href="http://blog.koehntopp.de/archives/1804-Eine-MySQL-Installation-planen.html" href="http://blog.koehntopp.de/archives/1804-Eine-MySQL-Installation-planen.html">passende MySQL-Version</a> gesucht. Dabei bin ich auf einige &#8211; teilweise sehr beunruhigende &#8211; Bug-Reports gestoßen.<br mce_bogus="1"></p>
<p><span id="more-25"></span><br />
<h3>MySQL 5.0.32 Community<br /></h3>
<p>Eigentlich wollte ich das MySQL-Paket von Debian etch verwenden. Dann stiess ich im <a mce_href="http://www.mysqlperformanceblog.com/2006/07/28/returning-to-innodb-scalability/" href="http://www.mysqlperformanceblog.com/2006/07/28/returning-to-innodb-scalability/">MySQL Performance Blog</a> auf Bug <a mce_href="http://bugs.mysql.com/bug.php?id=15815" href="http://bugs.mysql.com/bug.php?id=15815">#15815</a>. Hier die kurze Erklärung von <a mce_href="http://www.percona.com/team/vadim-tkachenko.html" href="http://www.percona.com/team/vadim-tkachenko.html">Vadim</a> dazu:</p>
<blockquote><p>On 4-CPU box 1 thread executes full-table scan select query for 8 sec, but with 4 threads &#8211; each thread executes query for 240 sec. It is very strange as threads use only SELECT queries and ideally there should be no any problem in concurrent enviroment, especially for CPU-bound workload.</p></blockquote>
<p>Behoben ist das ganze in MySQL Enterprise 5.0.30 und in MySQL Community 5.0.33 (source code release) bzw. MySQL Community 5.0.37 (binary release). Ein Work-Around dafür ist: </p>
<pre>innodb_thread_concurrency=4 # oder noch niedriger</pre>
<h3>Sortierschwierigkeiten</h3>
<p>Auf der Suche nach einem Paket in dem der obige Bug sowie die <a mce_href="https://tretkowski.de:443/blog/archives/403-No-need-to-hurry-for-MySQL-5.0.51a-in-Debian.html" href="https://tretkowski.de:443/blog/archives/403-No-need-to-hurry-for-MySQL-5.0.51a-in-Debian.html">aktuellen Sicherheitslücken</a> gefixt ist und auch sonst keine krassen Fehler enthalten sind fand ich Bug <a mce_href="http://bugs.mysql.com/bug.php?id=30666" href="http://bugs.mysql.com/bug.php?id=30666">#30666</a> welcher bisher in keinem Community-Release behoben wurde. In den Enterprise-Releases ist er ab 5.0.52 behoben.</p>
<blockquote><p>It seems that if a query has range conditions on fields of 2 tables or more, the ORDER BY clause is ignored and the rows are returned in unsorted table order.</p></blockquote>
<p>Das Enterprise-Kunden jedoch nicht immer die besseren Releases kriegen sieht man an Version 5.0.48 (welche zurückgerufen wurde). MySQL konnte dort in noch mehr Fällen nicht mehr korrekt sortieren. Gleich zwei Bugs diesbezüglich gibt es dort: </p>
<blockquote><p><a mce_href="http://bugs.mysql.com/bug.php?id=30596" href="http://bugs.mysql.com/bug.php?id=30596">#30596</a> <br />
The optimization that uses a unique index to remove GROUP BY suffers from the following<br />
flaw: It does not choose the index at the same time as removing GROUP BY, thus it cannot<br />
guarantee ordering the result by the columns in the GROUP BY list.</p></blockquote>
<blockquote><p><a mce_href="http://bugs.mysql.com/bug.php?id=31001" href="http://bugs.mysql.com/bug.php?id=31001">#31001</a> <br />
MySQL pays no attention to the DESC in the ORDER BY if you order by the primary key and<br />
also include a simple equals where condition on an indexed column.</p></blockquote>
<h3>Hilfe, ich brauche Enterprise!</h3>
<p>Der oben beschriebene Sortier-Bug wäre bei der einzusetzenden Anwendung derzeit kein Problem, jedoch enthält die wichtigste Query davon ein IN(). Demnächst wird das Datenbanklayout der Anwendung etwas modifiziert &#8211; wie steht zwar noch nicht genau fest &#8211; jedoch habe ich keine Lust mich dann evtl. mit diesem Bug rumzuschlagen. Also muss eine Enterprise-Version her. Nach etwas Googlen und studieren der <a mce_href="https://shop.mysql.com/enterprise/" href="https://shop.mysql.com/enterprise/">Preisliste</a> (*schwitz*) fand ich einen Mirror der die <a mce_href="http://mirror.provenscaling.com/mysql/enterprise/source/5.0/" href="http://mirror.provenscaling.com/mysql/enterprise/source/5.0/">Enterprise-Sourcen</a> zum Download anbietet. <a mce_href="http://mirror.provenscaling.com/mysql/enterprise/binaries/5.0/" href="http://mirror.provenscaling.com/mysql/enterprise/binaries/5.0/">Binaries</a> gibts dort übrigens auch.</p>
<h3>Noch mehr Bugs: Replikation</h3>
<p>Bei meiner ganzen Sucherei bin ich neben schon beschriebenen Sachen auch auf beunruhigende Tatsachen bezüglich Replikation gestoßen:</p>
<blockquote><p><a mce_href="http://bugs.mysql.com/bug.php?id=26489" href="http://bugs.mysql.com/bug.php?id=26489">#26489</a><br />I currently have replication set up between 2 innodb servers (the remote one being very remote) over a VPN on a high latency connection. The relay logs are OFTEN corrupted with odd characters[...].</p></blockquote>
<p>Ausserdem ist die MySQL-Replikation nicht mehr Absturzsicher. Details dazu kann man im <a mce_href="http://www.mysqlperformanceblog.com/2008/01/29/no-more-mysql-crash-safe-replication-in-50/" href="http://www.mysqlperformanceblog.com/2008/01/29/no-more-mysql-crash-safe-replication-in-50/">MySQL Performance Blog</a> oder im zugehörigen <a mce_href="http://bugs.mysql.com/bug.php?id=34058" href="http://bugs.mysql.com/bug.php?id=34058">Bug-Report</a> nachlesen.</p>
<h3>Beim Timeout sollte alles weg!</h3>
<p>Beim studieren der Changelogs habe ich ausserdem noch folgenden Eintrag gefunden, in meinen Augen total unsinnig. Wenn eine Transaktion abläuft sollte man sie meiner Meinung nach komplett zurückrollen. Oder gibt es Fälle in denen das nicht erwünscht ist bzw. keinen Sinn macht!? Bitte klärt mich auf! Naja richtig konfigurieren kann man es <a mce_href="http://dev.mysql.com/doc/mysqld-version-reference/en/ch05s02s16.html" href="http://dev.mysql.com/doc/mysqld-version-reference/en/ch05s02s16.html">seit 5.0.32</a> auf Wunsch.</p>
<blockquote><p><a mce_href="http://bugs.mysql.com/bug.php?id=24200" href="http://bugs.mysql.com/bug.php?id=24200">#24200</a><br />Starting with MySQL 5.0.13 InnoDB will only roll back the last query on transaction timeouts. In 4.x and up to 5.0.12 it would abort and roll back the complete transaction on timeouts as it still does on transaction deadlocks.</p></blockquote>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2008/02/mysql-kaferjagd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL: UTF-8 Zeichenketten deutsch sortieren.</title>
		<link>http://ichbinroot.de/2007/08/mysql-utf-8-zeichenketten-deutsch-sortieren/</link>
		<comments>http://ichbinroot.de/2007/08/mysql-utf-8-zeichenketten-deutsch-sortieren/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 09:13:31 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[codeschnipsel]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=19</guid>
		<description><![CDATA[Über Google gefunden in den HostEurope-FAQ: SELECT utf8_spalte FROM tabelle ORDER BY CONVERT(utf8_spalte USING utf8) COLLATE utf8_german2_ci ASC;]]></description>
			<content:encoded><![CDATA[<p>Über Google gefunden in den HostEurope-FAQ:</p>
<pre>SELECT utf8_spalte FROM tabelle	ORDER BY CONVERT(utf8_spalte USING utf8) 	COLLATE utf8_german2_ci ASC;</pre>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2007/08/mysql-utf-8-zeichenketten-deutsch-sortieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zufallszahlen in MySQL</title>
		<link>http://ichbinroot.de/2007/04/zufallszahlen-in-mysql/</link>
		<comments>http://ichbinroot.de/2007/04/zufallszahlen-in-mysql/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 17:14:17 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[codeschnipsel]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://ichbinroot.de/?p=13</guid>
		<description><![CDATA[Zufallszahl im von min bis max in MySQL: FLOOR(min + (RAND() * (max - min + 1)))]]></description>
			<content:encoded><![CDATA[<p>Zufallszahl im von <i>min</i> bis <i>max</i> in MySQL:</p>
<pre>FLOOR(min + (RAND() * (max - min + 1)))</pre>
]]></content:encoded>
			<wfw:commentRss>http://ichbinroot.de/2007/04/zufallszahlen-in-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

