<?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>Linux für alle &#187; mysql</title>
	<atom:link href="http://www.simplylinux.ch/tag/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplylinux.ch</link>
	<description>Jeder kann Linux beherrschen lernen...</description>
	<lastBuildDate>Sat, 19 Nov 2011 17:37:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>MySQL Backup</title>
		<link>http://www.simplylinux.ch/mysql-backup</link>
		<comments>http://www.simplylinux.ch/mysql-backup#comments</comments>
		<pubDate>Wed, 01 Apr 2009 10:52:22 +0000</pubDate>
		<dc:creator>hyper_ch</dc:creator>
				<category><![CDATA[CLI]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[hyper_ch]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.simplylinux.ch/?p=82</guid>
		<description><![CDATA[Backups sind das A und O wenn es um Computer geht. Man kann versehentlich Dinge löschen oder ein Gerät hört auf zu funktionieren oder auch in letzter Zeit ist die Beschlagnahme von Computern Mode geworden (hier sollte man noch zusätzliche Verschlüsselung anwenden&#8230;). Damit sich der Datenverlust in Grenzen hält, sollte man also regelmässig Backups machen. [...]]]></description>
			<content:encoded><![CDATA[<p>Backups sind das A und O wenn es um Computer geht. Man kann versehentlich Dinge löschen oder ein Gerät hört auf zu funktionieren oder auch in letzter Zeit ist die Beschlagnahme von Computern Mode geworden (hier sollte man noch zusätzliche Verschlüsselung anwenden&#8230;). Damit sich der Datenverlust in Grenzen hält, sollte man also regelmässig Backups machen. Ein besonderes Problem hierbei stellen Daten in einer Datenbank.</p>
<p>Eine der populärsten Datenbanken unter Linux ist MySQL. Die Daten werden auf Debian/Ubuntu jeweils in /var/lib/mysql gespeichert. Man könnte einfach die ganzen binären Datenbanken kopieren. Das Problem ist jedoch, wenn sich während dem Kopieren der Datenbestand ändert. Dies kann dazu führen, dass die entsprechende Datenbank korrumpiert wird.<br />
<span id="more-82"></span><br />
Aus diesem Grunde gibts entweder die Möglichkeit, dass man MySQL während dem Backup ausschaltet oder dass man nicht die binären Datenbanken kopiert sondern einen Dump der Struktur und Inhalte erstellt. Die nachfolgenden Scripte machen solch einen Dump:</p>
<p>Alle Datenbanken in je eine eigene .sql Datei:</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><span class="co0">#!/bin/bash</span>
&nbsp;
<span class="co0"># Set variables</span>
<span class="re2">USER</span>=root
<span class="re2">PASSWORD</span>=<span class="sy0">************</span>
<span class="re2">HOST</span>=localhost
&nbsp;
<span class="co0"># Remove old backup files</span>
<span class="kw2">mkdir</span> <span class="sy0">/</span>mysql_backup
<span class="kw2">rm</span> <span class="re5">-f</span> <span class="sy0">/</span>mysql_backup<span class="sy0">/*</span>
&nbsp;
<span class="co0">#Dump new files</span>
&nbsp;
<span class="kw1">for</span> i <span class="kw1">in</span> $<span class="br0">&#40;</span><span class="kw3">echo</span> <span class="st_h">'SHOW DATABASES;'</span> <span class="sy0">|</span> mysql -u<span class="re1">$USER</span> -p<span class="re1">$PASSWORD</span> -h<span class="re1">$HOST</span><span class="sy0">|</span><span class="kw2">grep</span> <span class="re5">-v</span> <span class="st_h">'^Database$'</span><span class="br0">&#41;</span>; <span class="kw1">do</span>
  mysqldump                                                     \
  -u<span class="re1">$USER</span> -p<span class="re1">$PASSWORD</span> -h<span class="re1">$HOST</span>                                   \
  <span class="re5">-Q</span> <span class="re5">-e</span> <span class="re5">-C</span> <span class="re5">--add-drop-table</span> <span class="re5">--add-locks</span> <span class="re5">--quick</span> <span class="re5">--lock-tables</span>   \
  <span class="re5">-B</span> <span class="re1">$i</span>                                                         \
  <span class="re1">$i</span> <span class="sy0">&gt;</span> <span class="sy0">/</span>mysql_backup<span class="sy0">/</span><span class="re1">$i</span>.sql;
<span class="kw1">done</span>;</pre></div></div>
<p>Das nachfolgende Script wurde von dergringo weiter entwickelt und macht nicht nur separate .sql Files für jede Datenbank, sondern auch noch für jede einzelne Tabelle.</p>
<p><strong>WICHTIG: TARGET muss wohl überlegt gesetzt werden, da alle Dateien dort drinnen jeweils gelöscht werde. Das Standardverzeichnis /mysql_backup/ ist eine gute Lösung, muss aber unter Umständen angepasst werden.</strong></p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.simplylinux.ch/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="bash" style="font-family:monospace;"><span class="co0">#!/bin/bash</span>
&nbsp;
<span class="co0">###############</span>
<span class="co0"># CONFIG</span>
<span class="co0">###############</span>
&nbsp;
<span class="re2">TARGET</span>=<span class="sy0">/</span>mysql_backup<span class="sy0">/</span>
<span class="re2">USER</span>=root
<span class="re2">PASSWORD</span>=<span class="sy0">*********</span>
<span class="re2">HOST</span>=localhost
&nbsp;
<span class="co0">###############</span>
<span class="co0"># SCRIPT</span>
<span class="co0">###############</span>
&nbsp;
<span class="co0"># Remove old files</span>
<span class="br0">&#91;</span><span class="br0">&#91;</span> <span class="re1">$TARGET</span> <span class="br0">&#93;</span><span class="br0">&#93;</span> <span class="sy0">&amp;&amp;</span> <span class="kw3">cd</span> <span class="st0">&quot;<span class="es2">$TARGET</span>&quot;</span> <span class="sy0">&amp;&amp;</span> <span class="kw2">rm</span> <span class="re5">-r</span> .<span class="sy0">/*</span>
&nbsp;
<span class="co0">#Dump new files</span>
<span class="kw1">for</span> DB <span class="kw1">in</span> $<span class="br0">&#40;</span><span class="kw3">echo</span> <span class="st_h">'SHOW DATABASES;'</span> <span class="sy0">|</span> mysql -u<span class="re1">$USER</span> -p<span class="re1">$PASSWORD</span> -h<span class="re1">$HOST</span><span class="sy0">|</span><span class="kw2">grep</span> <span class="re5">-v</span> <span class="st_h">'^Database$'</span><span class="br0">&#41;</span>; <span class="kw1">do</span>
        <span class="re2">FOLDER</span>=<span class="re1">$TARGET</span><span class="re1">$DB</span>
        <span class="kw2">mkdir</span> <span class="re1">$FOLDER</span> <span class="sy0">&gt;</span> <span class="sy0">/</span>dev<span class="sy0">/</span>null 2<span class="sy0">&gt;&amp;</span>1
        <span class="kw1">for</span> TABLE <span class="kw1">in</span> $<span class="br0">&#40;</span><span class="kw3">echo</span> SHOW TABLES FROM <span class="re1">$DB</span> <span class="sy0">|</span> mysql -u<span class="re1">$USER</span> -p<span class="re1">$PASSWORD</span> -h<span class="re1">$HOST</span> <span class="sy0">|</span> <span class="kw2">tail</span> <span class="re5">-n</span> +2<span class="br0">&#41;</span>; <span class="kw1">do</span>
                mysqldump -u<span class="re1">$USER</span> -p<span class="re1">$PASSWORD</span> -h<span class="re1">$HOST</span> <span class="re1">$DB</span> <span class="re1">$TABLE</span> <span class="sy0">&gt;</span> <span class="re1">$FOLDER</span><span class="sy0">/</span><span class="re1">$TABLE</span>.sql
        <span class="kw1">done</span>;
<span class="kw1">done</span>;</pre></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.simplylinux.ch/mysql-backup/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

