<?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>admirableadmin &#187; mysql</title>
	<atom:link href="http://admirableadmin.de/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://admirableadmin.de</link>
	<description>&#34;Suchst du noch oder lebst du schon?&#34;</description>
	<lastBuildDate>Tue, 24 Jan 2012 23:45:26 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>mysql: Reparieren und optimieren</title>
		<link>http://admirableadmin.de/68/mysql-reparieren-und-optimieren</link>
		<comments>http://admirableadmin.de/68/mysql-reparieren-und-optimieren#comments</comments>
		<pubDate>Wed, 20 Aug 2008 20:26:38 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=68</guid>
		<description><![CDATA[Die Datenbank MySQL muss von Zeit zu Zeit gewartet werden. Korrupte Datenbanken oder fragmentierte Tabellen treten zwar selten auf, falls es jedoch zu solchen Problemen kommt, kann man sich mit Bordmitteln selbst helfen. Kommt es zu einem unvorhergesehenen Server neustart, so hat MySQL anschließend mitunter Probleme alle Daten wiederzufinden. In diesem Fall spricht man von [...]]]></description>
			<content:encoded><![CDATA[<p>Die Datenbank MySQL muss von Zeit zu Zeit gewartet werden. Korrupte Datenbanken oder fragmentierte Tabellen treten zwar selten auf, falls es jedoch zu solchen Problemen kommt, kann man sich mit Bordmitteln selbst helfen.</p>
<p><span id="more-68"></span></p>
<p>Kommt es zu einem unvorhergesehenen Server neustart, so hat MySQL anschließend mitunter Probleme alle Daten wiederzufinden. In diesem Fall spricht man von einer korrupten Datenbank.</p>
<p>Der andere Fall der weitaus häufiger auftreten wird ist die Fragmentierung. Mit der Zeit gerät die Ordnung in den Tabellen durcheinander. Es werden einzelne Teile gelöscht und neue Daten kommen hinzu. Das führt dazu, dass irgendwo in der Datendatei von MySQL eine Lücke entsteht.</p>
<p>Für gewöhnlich ist dies kein Problem, denn die gelöschten Zeilen protokolliert MySQL in einer Liste mit. Kommen wieder neue Daten zur Tabelle hinzu, dann werden die freien Positionen und die Datenlücke wieder gefüllt. Dies läuft solange gut, wenn nur mit festen Feldtypen gearbeitet wird. Kommen jedoch variable Felder wie etwa <em>varchar</em>, <em>blob</em> oder <em>text</em> ins Spiel funktioniert der Mechanismus nicht mehr und es bleiben viele kleine Lücken zurück, die Platz wegnehmen.</p>
<p>Mit dem Bordmitteln von Debian kann man sich in dieser Situation selbst helfen. Ohne das man lange Befehle oder das root-Passwort auswendig lernen muss, können in der Datei <em>.bashrc</em> zwei neue Befehle hinterlegt werden, die das Kennwort selber auslesen und mit der Reparatur und der Optimierung der Datenbank beginnen:</p>
<p class="code">alias mysqlcheckrep=&#8221;mysqlcheck -u debian-sys-maint -cs &#8211;password=`grep -m 1 password  /etc/mysql/debian.cnf | awk &#8216;{print $3}&#8217;` &#8211;all-databases &#8211;auto-repair&#8221;<br />
alias mysqlcheckopt=&#8221;mysqlcheck -u debian-sys-maint -os &#8211;password=`grep -m 1 password  /etc/mysql/debian.cnf | awk &#8216;{print $3}&#8217;` &#8211;all-databases&#8221;</p>
<p>Bitte beachten, dass der jeweilige Befehl von doppelten Anführungszeichen umschlossen ist, während das Passwort mit Hilfe von grep über sog. Backticks ausgelesen wird, während awk mit einfachen Anführungszeichen arbeitet.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/68/mysql-reparieren-und-optimieren/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysql: Umlaute wiederherstellen</title>
		<link>http://admirableadmin.de/25/mysql-umlaute-wiederherstellen</link>
		<comments>http://admirableadmin.de/25/mysql-umlaute-wiederherstellen#comments</comments>
		<pubDate>Sun, 30 Sep 2007 21:39:03 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/25/</guid>
		<description><![CDATA[Wenn beim Umstieg von einem auf den anderen Server die Umlaute kaputt sind, kann man diese natürlich von Hand ersetzen. Dies erfordert natürlich viel Geduld, wenn alle &#8220;Ã¶&#8221; gegen ein ö getauscht und ein &#8220;Ã¼&#8221; gegen ein ü ersetzt werden soll. Natürlich gibt es auch noch die Möglichkeit per altbewährtem &#8220;suchen und ersetzen&#8221; alles zu [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn beim Umstieg von einem auf den anderen Server die Umlaute kaputt sind, kann man diese natürlich von Hand ersetzen.</p>
<p><span id="more-25"></span></p>
<p>Dies erfordert natürlich viel Geduld, wenn alle &#8220;Ã¶&#8221; gegen ein ö getauscht und ein &#8220;Ã¼&#8221; gegen ein ü ersetzt werden soll. Natürlich gibt es auch noch die Möglichkeit per altbewährtem &#8220;suchen und ersetzen&#8221; alles zu korrigieren. Schneller geht es jedoch wenn man die Ursache direkt beim Serverwechsel erkennt und behebt.</p>
<p>So erstelle ich regelmäßig per Hand eine Sicherung einer beliebigen Datenbank:</p>
<p class="code">mysqldump -aceQ -u datenbankbenutzer datenbankname -p &gt; sicherungsdatei-`date +%Y%m%d`.sql</p>
<p>Abhändig davon, mit welchem Zeichensatz (<a href="http://de.wikipedia.org/wiki/Zeichensatz">wikipedia</a>) die Datei erstellt wurde, muss diese dann auch wieder importiert werden. Angenommen es wurde eine UTF-8 Datei (<a href="http://de.wikipedia.org/wiki/UTF-8">wikipedia</a>) erstellt, so kann diese wieder importiert werden ohne das die Umlaute kaputt gehen mit:</p>
<p class="code">mysql &#8211;default-character-set=utf8 -u datenbankbenutzer datenbankname -p &lt; sicherungsdatei-20070930.sql</p>
<p>Ein Editor kann natürlich im Vorfeld diese Konvertierung vornehmen. Unter Linux kann man sich dazu auch mal das Programm iconv (<a href="http://www.iconv.com/iconv.htm">Online Konverter</a>) ansehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/25/mysql-umlaute-wiederherstellen/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

