<?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>www.knebler.de</title>
	<atom:link href="http://www.knebler.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.knebler.de</link>
	<description>Admin Blog</description>
	<lastBuildDate>Fri, 26 Mar 2010 13:32:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mysqlbinlog — Hilfsprogramm für die Verarbeitung binärer Logdateien</title>
		<link>http://www.knebler.de/howto/mysqlbinlog-%e2%80%94-hilfsprogramm-fur-die-verarbeitung-binarer-logdateien/</link>
		<comments>http://www.knebler.de/howto/mysqlbinlog-%e2%80%94-hilfsprogramm-fur-die-verarbeitung-binarer-logdateien/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 13:31:33 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=306</guid>
		<description><![CDATA[Die Binärlogdateien, die der Server erzeugt, sind im Binärformat geschrieben. Um diese Dateien in Textform zu untersuchen, verwenden Sie das Hilfsprogramm mysqlbinlog.
Rufen Sie mysqlbinlog wie folgt auf:
shell> mysqlbinlog [options] log_file &#8230;
Um beispielsweise den Inhalt einer Binärlogdatei namens binlog.000003 anzuzeigen, verwenden Sie folgenden Befehl:
shell> mysqlbinlog binlog.0000003
Die Ausgabe enthält alle Ereignisse, die in binlog.000003 enthalten sind. Zu [...]]]></description>
			<content:encoded><![CDATA[<p>Die Binärlogdateien, die der Server erzeugt, sind im Binärformat geschrieben. Um diese Dateien in Textform zu untersuchen, verwenden Sie das Hilfsprogramm mysqlbinlog.</p>
<p>Rufen Sie mysqlbinlog wie folgt auf:</p>
<p>shell> mysqlbinlog [options] log_file &#8230;</p>
<p>Um beispielsweise den Inhalt einer Binärlogdatei namens binlog.000003 anzuzeigen, verwenden Sie folgenden Befehl:</p>
<p>shell> mysqlbinlog binlog.0000003</p>
<p>Die Ausgabe enthält alle Ereignisse, die in binlog.000003 enthalten sind. Zu den einzelnen Ereignisdaten gehören u. a. die ausgeführte Anweisung, die Ausführungsdauer der Anweisung, die Thread-Kennung des absetzenden Clients und der Zeitstempel der Ausführung.</p>
<p>Die Ausgabe von mysqlbinlog kann – beispielsweise durch Verwendung als Eingabe für mysql – neu ausgeführt werden, um die Anweisungen im Log erneut anzuwenden. Dies ist etwa zur Wiederherstellung nach einem Serverabsturz praktisch. Mehr Anwendungsbeispiele finden Sie im weiteren Verlauf dieses Abschnitts.</p>
<p>Normalerweise verwenden Sie mysqlbinlog zum direkten Auslesen von Binärlogdateien und zu deren Anwendung auf den lokalen MySQL Server. Es ist ferner möglich, Binärlogs von einem entfernten Server auszulesen, indem Sie die Option &#8211;read-from-remote-server verwenden. Wenn Sie entfernte Binärlogs auslesen, kann mit Verbindungsparameteroptionen angegeben werden, wie die Verbindung zum Server herzustellen ist. Diese Optionen sind &#8211;host, &#8211;password, &#8211;port, &#8211;protocol, &#8211;socket und &#8211;user; sie werden allerdings ignoriert, wenn Sie nicht auch die Option &#8211;read-from-remote-server angeben.</p>
<p>Sie können mit mysqlbinlog auch Relay-Logdateien auslesen, die von einem Slave-Server in einer Replikationskonfiguration geschrieben wurden. Relay-Logs haben das gleiche Format wie Binärlogdateien.</p>
<p>Weitere Informationen zu Binär- und Relay-Logs finden Sie in Abschnitt 5.12.3, „Die binäre Update-Logdatei“, und Abschnitt 6.4.4, „Relay- und Statusdateien bei der Replikation“.</p>
<p>mysqlbinlog unterstützt die folgenden Optionen:</p>
<p>    * &#8211;help, -?Zeigt eine Hilfemeldung an und wird dann beendet.<br />
    * &#8211;base64-outputGibt alle Binärlogeinträge unter Verwendung der base64-Kodierung aus. Dies dient nur Debugzwecken. Logs, die mithilfe dieser Option erzeugt wurden, sollten nicht auf Produktionssysteme angewendet werden. Diese Option wurde in MySQL 5.1.5 hinzugefügt.<br />
    * &#8211;database=db_name, -d db_nameListet Einträge nur für genau diese Datenbank auf (nur lokales Log).<br />
    * &#8211;force-read, -fMit dieser Option gibt mysqlbinlog, wenn es ein Binärlogereignis liest, das es nicht erkennt, eine Warnung aus, ignoriert das Ereignis und fährt fort. Ohne diese Option beendet sich mysqlbinlog beim Lesen eines solchen Ereignisses.<br />
    * &#8211;hexdump, -HZeigt einen hexadezimalen Speicherauszug des Logs in Kommentaren an. Diese Ausgabe kann für das Debuggen der Replikation hilfreich sein. Das Format des hexadezimalen Speicherauszugs wird im weiteren Verlauf dieses Abschnitts beschrieben. Diese Option wurde in MySQL 5.1.2 hinzugefügt.<br />
    * &#8211;host=host_name, -h host_nameHolt das Binärlog vom MySQL Server des angegebenen Hosts.<br />
    * &#8211;local-load=path, -l pathBereitet lokale Temporärdateien für LOAD DATA INFILE im angegebenen Verzeichnis vor.<br />
    * &#8211;offset=N, -o NÜberspringt die ersten N Einträge im Log.<br />
    * &#8211;password[=password], -p[password]Verwendet das angegebene Passwort zur Verbindung mit dem Server. Wenn Sie die Kurzform der Option (-p) verwenden, dürfen Sie kein Leerzeichen zwischen Option und Passwort setzen. Lassen Sie den Wert password auf die Option &#8211;password bzw. -p folgend weg, dann werden Sie zur Eingabe des Passworts aufgefordert.</p>
<p>      Die Angabe eines Passworts direkt auf der Befehlszeile ist als nicht sicher einzuordnen. Siehe auch Abschnitt 5.9.6, „Wie Sie Ihre Kennwörter sicher halten“.<br />
    * &#8211;port=port_num, -P port_numDie TCP/IP-Portnummer, die zur Verbindung mit einem entfernten Server verwendet werden soll.<br />
    * &#8211;position=N, -j NVeraltet. Verwenden Sie stattdessen &#8211;start-position.<br />
    * &#8211;protocol={TCP|SOCKET|PIPE|MEMORY}Das zu verwendende Verbindungsprotokoll.<br />
    * &#8211;read-from-remote-server, -RLiest das Binärlog von einem MySQL Server, statt eine lokale Logdatei auszulesen. Sofern diese Option nicht angegeben ist, werden auch alle weiteren Verbindungsparameteroptionen ignoriert. Diese Optionen sind &#8211;host, &#8211;password, &#8211;port, &#8211;protocol, &#8211;socket und &#8211;user.<br />
    * &#8211;result-file=name, -r nameDie Ausgabe erfolgt direkt in die angegebene Datei.<br />
    * &#8211;server-id=idExtrahiert nur diejenigen Ereignisse, die vom Server mit der angegebenen Serverkennung stammen. Diese Option wurde in MySQL 5.1.4 hinzugefügt.<br />
    * &#8211;short-form, -sZeigt nur die im Log enthaltenen Anweisungen (d. h. keine zusätzlichen Informationen) an.<br />
    * &#8211;socket=path, -S pathBei Verbindungen mit localhost ist dies die zu verwendende Unix-Socketdatei bzw. (unter Windows) der Name der zu verwendenden Named Pipe.<br />
    * &#8211;start-datetime=datetimeStartet das Auslesen des Binärlogs beim ersten Ereignis, dessen Zeitstempel dem durch datetime angegebenen oder einem späteren Zeitpunkt entspricht. Der datetime-Wert ist relativ zur lokalen Zeitzone des Computers, auf dem Sie mysqlbinlog ausführen. Der Wert sollte in einem Format angegeben sein, das für die DATETIME- oder TIMESTAMP-Datentypen unterstützt wird. Zum Beispiel:</p>
<p>      shell> mysqlbinlog &#8211;start-datetime=&#8221;2005-12-25 11:25:56&#8243; binlog.000003</p>
<p>      Diese Option ist für eine Point-in-Time-Wiederherstellung nützlich. Siehe auch Abschnitt 5.10.2, „Beispielhaftes Vorgehen zur Datensicherung und Wiederherstellung“.<br />
    * &#8211;stop-datetime=datetimeBeendet das Auslesen des Binärlogs beim ersten Ereignis, dessen Zeitstempel dem durch datetime angegebenen oder einem späteren Zeitpunkt entspricht. Diese Option ist für eine Point-in-Time-Wiederherstellung nützlich. Informationen zum datetime-Wert finden Sie weiter oben in der Beschreibung zur Option &#8211;start-datetime.<br />
    * &#8211;start-position=NStartet das Auslesen des Binärlogs beim ersten Ereignis, dessen Position dem Argument N entspricht.<br />
    * &#8211;stop-position=NBeendet das Auslesen des Binärlogs beim ersten Ereignis, dessen Position N oder höher ist.<br />
    * &#8211;to-last-log, -tBeendet die Verarbeitung nicht am Ende des bei einem MySQL Server angeforderten Binärlogs, sondern fährt mit der Ausgabe bis zum Ende des letzten Binärlogs fort. Wenn Sie die Ausgabe zum selben MySQL Server leiten, kann dies eine Endlosschleife verursachen. Diese Option erfordert &#8211;read-from-remote-server.<br />
    * &#8211;disable-log-bin, -DDeaktiviert das binäre Loggen. Dies ist nützlich zur Vermeidung einer Endlosschleife, wenn Sie die Option &#8211;to-last-log verwenden und die Ausgabe an denselben MySQL Server senden. Ferner ist die Option praktisch bei der Datenwiederherstellung nach einem Absturz: Sie vermeiden hiermit eine Duplizierung der protokollierten Anweisungen.</p>
<p>      Für diese Option benötigen Sie die Berechtigung SUPER. Sie sorgt dafür, dass mysqlbinlog in seine Ausgabe eine SET SQL_LOG_BIN=0-Anweisung einfügt, um das binäre Loggen der restlichen Ausgabe zu deaktivieren. Die SET-Anweisung wird nur dann ausgeführt, wenn Sie die Berechtigung SUPER haben.<br />
    * &#8211;user=user_name, -u user_nameVerwendet den angegebenen MySQL-Benutzernamen zur Verbindung mit dem entfernten Server.<br />
    * &#8211;version, -VZeigt die Versionsinformation an und wird dann beendet.</p>
<p>Sie können mit der Syntax &#8211;var_name=value auch die folgenden Variablen einstellen:</p>
<p>    * open_files_limitGibt die Anzahl der Deskriptoren für offene Dateien an, die reserviert werden müssen.</p>
<p>Es ist ferner möglich, Variablen über die Syntax &#8211;set-variable=var_name=value oder -O var_name=value einzustellen. Diese Syntax ist jedoch veraltet.</p>
<p>Sie können die Ausgabe von mysqlbinlog in den Client mysql umleiten, um die im Binärlog enthaltenen Anweisungen auszuführen. Diese Vorgehensweise dient der Wiederherstellung nach einem Absturz bei Vorhandensein eines alten Backups (siehe Abschnitt 5.10.1, „Datenbank-Datensicherungen“). Zum Beispiel:</p>
<p>shell> mysqlbinlog binlog.000001 | mysql</p>
<p>Oder:</p>
<p>shell> mysqlbinlog binlog.[0-9]* | mysql</p>
<p>Sie können die Ausgabe von mysqlbinlog stattdessen auch in eine Textdatei umleiten, wenn Sie das Anweisungslog zunächst modifizieren müssen (indem Sie beispielsweise Anweisungen entfernen, deren Ausführung Sie aus irgendeinem Grund nicht wünschen). Nach der Editierung der Datei führen Sie die enthaltenen Anweisungen aus, indem Sie sie als Eingabe für das Programm mysql verwenden.</p>
<p>mysqlbinlog verfügt über eine Option &#8211;start-position, die nur diejenigen Anweisungen ausgibt, deren Position mindestens der angegebenen Position entspricht (die angegebene Position muss mit dem Start genau eines Ereignisses zusammenfallen). Ferner sind Optionen zum Beenden und Starten bei Erkennung eines Ereignisses mit einem angegebenen Zeitpunkt (Datum und Uhrzeit) vorhanden. Dies ermöglicht Ihnen die Durchführung einer Point-in-Time-Wiederherstellung mithilfe der Option &#8211;stop-datetime: Sie können so etwa eine Wiederherstellung nach dem Prinzip „Datenbanken auf den Stand von heute, 10:30 Uhr, setzen“ durchführen.</p>
<p>Wenn Sie mehr als nur ein Binärlog auf dem MySQL Server ausführen wollen, besteht die sichere Methode darin, alle Logs über dieselbe Serververbindung zu verarbeiten. Das folgende Beispiel veranschaulicht, welche Vorgehensweise unsicher sein könnte:</p>
<p>shell> mysqlbinlog binlog.000001 | mysql # DANGER!!<br />
shell> mysqlbinlog binlog.000002 | mysql # DANGER!!</p>
<p>Eine derartige Verarbeitung von Binärlogs über verschiedene Serververbindungen verursacht Probleme, wenn die erste Logdatei eine CREATE TEMPORARY TABLE-Anweisung und das zweite Log eine Anweisung enthält, die die Temporärtabelle verwendet. Wenn der erste mysql-Prozess beendet wird, löscht der Server die Temporärtabelle. Versucht der zweite mysql-Prozess nun auf die Tabelle zuzugreifen, dann meldet der Server eine „unbekannte Tabelle“.</p>
<p>Um solche Probleme zu vermeiden, verwenden Sie stets die gleiche Verbindung zur Ausführung der Inhalte aller Binärlogs, die Sie verarbeiten wollen. Nachfolgend ist eine Möglichkeit beschrieben, dies zu erreichen:</p>
<p>shell> mysqlbinlog binlog.000001 binlog.000002 | mysql</p>
<p>Ein weiterer Ansatz besteht darin, alle Logs in eine einzelne Datei zu schreiben und diese Datei dann zu verarbeiten:</p>
<p>shell> mysqlbinlog binlog.000001 >  /tmp/statements.sql<br />
shell> mysqlbinlog binlog.000002 >> /tmp/statements.sql<br />
shell> mysql -e &#8220;source /tmp/statements.sql&#8221;</p>
<p>mysqlbinlog kann eine Ausgabe erzeugen, die eine LOAD DATA INFILE-Operation ohne die ursprüngliche Datendatei reproduziert. mysqlbinlog kopiert die Daten in eine Temporärdatei und schreibt eine LOAD DATA LOCAL INFILE-Anweisung, die diese Datei referenziert. Die Standardposition des Verzeichnisses, in das diese Dateien geschrieben werden, ist systemspezifisch. Um ein Verzeichnis explizit anzugeben, verwenden Sie die Option &#8211;local-load.</p>
<p>Da mysqlbinlog LOAD DATA INFILE- in LOAD DATA LOCAL INFILE-Anweisungen konvertiert (d. h. LOCAL ergänzt), müssen sowohl der Client als auch der Server, den Sie zur Verarbeitung der Anweisungen verwenden, so konfiguriert sein, dass LOCAL unterstützt wird. Siehe auch Abschnitt 5.7.4, „Sicherheitsprobleme mit LOAD DATA LOCAL“.</p>
<p>Warnung: Die für die LOAD DATA LOCAL-Anweisungen erstellten Temporärdateien werden nicht automatisch gelöscht, weil sie benötigt werden, bis Sie diese Anweisungen tatsächlich ausführen. Sie sollten die Temporärdateien also selbst entfernen, wenn Sie das Anweisungslog nicht mehr benötigen. Die Dateien befinden sich im Temporärdateiverzeichnis und haben Namen wie original_file_name-#-#.</p>
<p>Die Option &#8211;hexdump erzeugt einen hexadezimalen Speicherauszug („Hex-Dump“) des Loginhalts in Kommentaren:</p>
<p>shell> mysqlbinlog &#8211;hexdump master-bin.000001</p>
<p>Beim obigen Befehl sieht die Ausgabe etwa so aus:</p>
<p>/*!40019 SET @@session.max_insert_delayed_threads=0*/;<br />
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;<br />
# at 4<br />
#051024 17:24:13 server id 1  end_log_pos 98<br />
# Position  Timestamp   Type   Master ID        Size      Master Pos    Flags<br />
# 00000004 9d fc 5c 43   0f   01 00 00 00   5e 00 00 00   62 00 00 00   00 00<br />
# 00000017 04 00 35 2e 30 2e 31 35  2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l|<br />
# 00000027 6f 67 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |og&#8230;&#8230;&#8230;&#8230;..|<br />
# 00000037 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 |&#8230;&#8230;&#8230;&#8230;&#8230;.|<br />
# 00000047 00 00 00 00 9d fc 5c 43  13 38 0d 00 08 00 12 00 |&#8230;&#8230;.C.8&#8230;&#8230;|<br />
# 00000057 04 04 04 04 12 00 00 4b  00 04 1a                |&#8230;&#8230;.K&#8230;|<br />
#       Start: binlog v 4, server v 5.0.15-debug-log created 051024 17:24:13<br />
#       at startup<br />
ROLLBACK;</p>
<p>Die Hex-Dump-Ausgabe enthält derzeit die nachfolgend aufgeführten Elemente. Das Format kann sich allerdings bei zukünftigen Versionen ändern.</p>
<p>    * Position: Byteposition in der Logdatei.<br />
    * Timestamp: Zeitstempel des Ereignisses. Im gezeigten Beispiel ist &#8216;9d fc 5c 43&#8242; die Darstellung von &#8216;051024 17:24:13&#8242; in hexadezimaler Form.<br />
    * Type: Typ des Logereignisses. Im gezeigten Beispiel bedeutet &#8216;0f&#8217;, dass das Beispielereignis FORMAT_DESCRIPTION_EVENT ist. Die nachfolgende Tabelle listet mögliche Typen auf.<br />
      Geben Sie nun Folgendes ein: 	Name 	Bedeutung<br />
      00 	UNKNOWN_EVENT 	Dieses Ereignis sollte keinesfalls im Log vorhanden sein.<br />
      01 	START_EVENT_V3 	Zeigt den Anfang einer Logdatei an, die von MySQL 4 oder früher geschrieben wurde.<br />
      02 	QUERY_EVENT 	Der häufigste Ereignistyp. Er bezeichnet Anweisungen, die auf dem Master-Server ausgeführt wurden.<br />
      03 	STOP_EVENT 	Gibt an, dass der Master beendet wurde.<br />
      04 	ROTATE_EVENT 	Wird geschrieben, wenn der Master eine neue Logdatei eröffnet.<br />
      05 	INTVAR_EVENT 	Wird hauptsächlich für AUTO_INCREMENT-Werte und in Situationen verwendet, in denen die LAST_INSERT_ID()-Funktion in der Anweisung verwendet wird.<br />
      06 	LOAD_EVENT 	Wird für LOAD DATA INFILE in MySQL 3.23 verwendet.<br />
      07 	SLAVE_EVENT 	Für zukünftige Verwendung reserviert.<br />
      08 	CREATE_FILE_EVENT 	Wird für LOAD DATA INFILE-Anweisungen verwendet. Hiermit wird der Start der Ausführung einer solchen Anweisung angezeigt. Auf dem Slave-Server wird eine Temporärdatei erstellt. Wird nur in MySQL 4 verwendet.<br />
      09 	APPEND_BLOCK_EVENT 	Enthält Daten, die in einer LOAD DATA INFILE-Anweisung verwendet werden. Die Daten werden in einer Temporärdatei auf dem Slave gespeichert.<br />
      0a 	EXEC_LOAD_EVENT 	Wird für LOAD DATA INFILE-Anweisungen verwendet. Der Inhalt der Temporärdatei wird in der Tabelle auf dem Slave gespeichert. Wird nur in MySQL 4 verwendet.<br />
      0b 	DELETE_FILE_EVENT 	Rollback einer LOAD DATA INFILE-Anweisung. Die Temporärdatei auf dem Slave sollte gelöscht werden.<br />
      0c 	NEW_LOAD_EVENT 	Wird für LOAD DATA INFILE in MySQL 4 und früher verwendet.<br />
      0d 	RAND_EVENT 	Wird für den Versand von Informationen zu Zufallswerten benutzt, wenn die Funktion RAND() in der Anweisung verwendet wird.<br />
      0e 	USER_VAR_EVENT 	Dient der Replikation von Benutzervariablen.<br />
      0f 	FORMAT_DESCRIPTION_EVENT 	Zeigt den Anfang einer Logdatei an, die von MySQL 5 oder später geschrieben wurde.<br />
      10 	XID_EVENT 	Ereignis, welches das Schreiben einer XA-Transaktion anzeigt.<br />
      11 	BEGIN_LOAD_QUERY_EVENT 	Wird für LOAD DATA INFILE-Anweisungen in MySQL 5 und höher verwendet.<br />
      12 	EXECUTE_LOAD_QUERY_EVENT 	Wird für LOAD DATA INFILE-Anweisungen in MySQL 5 und höher verwendet.<br />
      13 	TABLE_MAP_EVENT 	Für zukünftige Verwendung reserviert.<br />
      14 	WRITE_ROWS_EVENT 	Für zukünftige Verwendung reserviert.<br />
      15 	UPDATE_ROWS_EVENT 	Für zukünftige Verwendung reserviert.<br />
      16 	DELETE_ROWS_EVENT 	Für zukünftige Verwendung reserviert.<br />
    * Master ID: Serverkennung des Masters, der das Ereignis erstellt hat.<br />
    * Size: Größe des Ereignisses in Byte.<br />
    * Master Pos: Position des Ereignisses in der ursprünglichen Logdatei auf dem Master.<br />
    * Flags: 16 Flags. Zurzeit werden die nachfolgend aufgeführten Flags verwendet. Die übrigen sind für zukünftige Verwendung reserviert.<br />
      Flag 	Name 	Bedeutung<br />
      01 	LOG_EVENT_BINLOG_IN_USE_F 	Logdatei korrekt geschlossen. (Wird nur in FORMAT_DESCRIPTION_EVENT verwendet.) Wenn bei einem Ereignis FORMAT_DESCRIPTION_EVENT das Flag gesetzt ist (d. h. wenn der Flagwert beispielsweise &#8216;01 00&#8242; lautet), dann wurde die Logdatei nicht korrekt geschlossen. In aller Regel liegt dies an einem Absturz des Masters (etwa aufgrund eines Stromausfalls).<br />
      02 	  	Für zukünftige Verwendung reserviert.<br />
      04 	LOG_EVENT_THREAD_SPECIFIC_F 	Ist gesetzt, wenn das Ereignis von der Verbindung abhängig ist, über die es erfolgte (z. B. &#8216;04 00&#8242;). Ein solcher Fall liegt etwa vor, wenn das Ereignis Temporärtabellen verwendet.<br />
      08 	LOG_EVENT_SUPPRESS_USE_F 	Wird unter bestimmten Umständen gesetzt, wenn das Ereignis nicht von der Standarddatenbank abhängt.</p>
<p>      Die übrigen Flags sind für eine zukünftige Verwendung reserviert. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/mysqlbinlog-%e2%80%94-hilfsprogramm-fur-die-verarbeitung-binarer-logdateien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql DB Check mit mysqlcheck</title>
		<link>http://www.knebler.de/howto/kurztipps/mysql-db-check-mit-mysqlcheck/</link>
		<comments>http://www.knebler.de/howto/kurztipps/mysql-db-check-mit-mysqlcheck/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 13:30:33 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Kurztipps]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=304</guid>
		<description><![CDATA[mysqlcheck — Hilfsprogramm für die Wartung und Reparatur von Tabellen
Der Client mysqlcheck prüft, repariert, optimiert und analysiert Tabellen.
mysqlcheck ähnelt hinsichtlich seines Funktionsumfangs myisamchk, funktioniert aber anders. Der wesentliche Unterschied besteht darin, dass mysqlcheck verwendet werden muss, wenn der Server mysqld ausgeführt wird, wohingegen myisamchk verwendet werden sollte, wenn er nicht läuft. Der Vorteil der Verwendung [...]]]></description>
			<content:encoded><![CDATA[<p>mysqlcheck — Hilfsprogramm für die Wartung und Reparatur von Tabellen</p>
<p>Der Client mysqlcheck prüft, repariert, optimiert und analysiert Tabellen.</p>
<p>mysqlcheck ähnelt hinsichtlich seines Funktionsumfangs myisamchk, funktioniert aber anders. Der wesentliche Unterschied besteht darin, dass mysqlcheck verwendet werden muss, wenn der Server mysqld ausgeführt wird, wohingegen myisamchk verwendet werden sollte, wenn er nicht läuft. Der Vorteil der Verwendung von mysqlcheck besteht darin, dass Sie den Server nicht beenden müssen, um Ihre Tabellen zu überprüfen oder zu reparieren.</p>
<p>mysqlcheck verwendet die SQL-Anweisungen CHECK TABLE, REPAIR TABLE, ANALYZE TABLE und OPTIMIZE TABLE auf eine für den Benutzer praktische Weise. Das Programm bestimmt, welche Anweisungen für die gewünschte Operation durchzuführen sind, und sendet diese Anweisungen dann zur Ausführung an den Server. Weitere Informationen dazu, bei welchen Speicher-Engines die jeweiligen Anweisungen funktionieren, finden Sie in Kapitel 13, SQL-Anweisungssyntax.</p>
<p>Die MyISAM-Speicher-Engine unterstützt alle vier Anweisungen, d. h., mysqlcheck kann zur Durchführung aller vier Operationen an MyISAM-Tabellen verwendet werden. Andere Speicher-Engines unterstützen nicht unbedingt alle Operationen. Gegebenenfalls wird eine Fehlermeldung angezeigt. Wenn beispielsweise test.t eine MEMORY-Tabelle ist, dann führt der Versuch, sie zu überprüfen, zu folgendem Ergebnis:</p>
<p>shell> mysqlcheck test t<br />
test.t<br />
note     : The storage engine for the table doesn&#8217;t support check</p>
<p>Es gibt drei Möglichkeiten, mysqlcheck aufzurufen:</p>
<p>shell> mysqlcheck [options] db_name [tables]<br />
shell> mysqlcheck [options] &#8211;databases db_name1 [db_name2 db_name3...]<br />
shell> mysqlcheck [options] &#8211;all-databases</p>
<p>Wenn Sie auf db_name folgend keine Tabellen aufführen oder die Optionen &#8211;databases oder &#8211;all-databases verwenden, dann werden ganze Datenbanken überprüft.</p>
<p>mysqlcheck bietet eine im Vergleich zu anderen Clientprogrammen spezielle Funktion. Das Standardverhalten des Überprüfens von Tabellen (&#8211;check) kann geändert werden, indem die Binärdatei umbenannt wird. Wenn Sie ein Tool benötigen, das Tabellen standardmäßig repariert, sollten Sie einfach eine Kopie von mysqlcheck namens mysqlrepair oder eine symbolische Verknüpfung zu mysqlcheck namens mysqlrepair erstellen. Wenn Sie dann mysqlrepair aufrufen, werden die Tabellen standardmäßig repariert.</p>
<p>Die folgenden Namen können verwendet werden, um das Standardverhalten von mysqlcheck zu ändern:<br />
mysqlrepair 	Die Standardoption ist &#8211;repair.<br />
mysqlanalyze 	Die Standardoption ist &#8211;analyze.<br />
mysqloptimize 	Die Standardoption ist &#8211;optimize.</p>
<p>mysqlcheck unterstützt die folgenden Optionen:</p>
<p>    * &#8211;help, -?Zeigt eine Hilfemeldung an und wird dann beendet.<br />
    * &#8211;all-databases, -AÜberprüft alle Tabellen in allen Datenbanken. Dies entspricht der Option &#8211;databases bei gleichzeitiger Nennung aller Datenbanken auf der Befehlszeile.<br />
    * &#8211;all-in-1, -1Statt eine Anweisung für jede Tabelle einzeln abzusetzen, wird eine einzelne Anweisung für jede Datenbank ausgeführt, die alle zu verarbeitenden Tabellen aus dieser Datenbank benennt.<br />
    * &#8211;analyze, -aAnalysiert die Tabellen.<br />
    * &#8211;auto-repairWenn eine überprüfte Tabelle beschädigt ist, wird sie automatisch repariert. Reparaturarbeiten werden erledigt, nachdem alle Tabellen überprüft wurden.<br />
    * &#8211;character-sets-dir=pathDas Verzeichnis, in dem Zeichensätze installiert sind. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.<br />
    * &#8211;check, -cÜberprüft die Tabellen auf Fehler. Dies ist die Standardoperation.<br />
    * &#8211;check-only-changed, -CÜberprüft nur solche Tabellen, die seit der letzten Überprüfung geändert oder aber nicht korrekt geschlossen wurden.<br />
    * &#8211;compressKomprimiert alle Daten, die zwischen Client und Server ausgetauscht werden, sofern beide die Komprimierung unterstützen.<br />
    * &#8211;databases, -BVerarbeitet alle Tabellen in den aufgeführten Datenbanken. Normalerweise betrachtet mysqlcheck das erste Namensargument auf der Befehlszeile als Datenbank- und alle nachfolgenden Argumente als Tabellennamen. Bei dieser Option hingegen werden alle Namensargumente als Datenbanknamen behandelt.<br />
    * &#8211;debug[=debug_options], -# [debug_options]Schreibt ein Debuglog. Der String debug_options heißt häufig &#8216;d:t:o,file_name&#8217;.<br />
    * &#8211;default-character-set=charset_nameVerwendet charset_name als Standardzeichensatz. Siehe auch Abschnitt 5.11.1, „Der für Daten und zum Sortieren benutzte Zeichensatz“.<br />
    * &#8211;extended, -eWenn Sie diese Option zur Überprüfung von Tabellen einsetzen, ist sichergestellt, dass diese hundertprozentig konsistent sind; der Vorgang dauert allerdings sehr lange.Wenn Sie die Option bei der Reparatur von Tabellen einsetzen, wird eine erweiterte Reparatur durchgeführt, deren Ausführung nicht nur extrem lange dauert, sondern die auch eine Menge überflüssiger Datensätze erzeugt!<br />
    * &#8211;fast, -FÜberprüft nur Tabellen, die nicht ordnungsgemäß geschlossen wurden.<br />
    * &#8211;force, -fDas Programm wird auch dann fortgesetzt, wenn ein SQL-Fehler auftritt.<br />
    * &#8211;host=host_name, -h host_nameStellt eine Verbindung zum MySQL Server auf dem angegebenen Host her.<br />
    * &#8211;medium-check, -mFührt eine Überprüfung durch, die schneller ist als eine &#8211;extended-Operation. Hierdurch werden nur 99,99 Prozent aller Fehler gefunden (dies sollte allerdings in den meisten Fällen ausreichend sein).<br />
    * &#8211;optimize, -oOptimiert die Tabellen.<br />
    * &#8211;password[=password], -p[password]Verwendet das angegebene Passwort zur Verbindung mit dem Server. Wenn Sie die Kurzform der Option (-p) verwenden, dürfen Sie kein Leerzeichen zwischen Option und Passwort setzen. Lassen Sie den Wert password auf die Option &#8211;password bzw. -p folgend weg, dann werden Sie zur Eingabe des Passworts aufgefordert.Die Angabe eines Passworts direkt auf der Befehlszeile ist als nicht sicher einzuordnen. Siehe auch Abschnitt 5.9.6, „Wie Sie Ihre Kennwörter sicher halten“.<br />
    * &#8211;port=port_num, -P port_numDie TCP/IP-Portnummer, die für die Verbindung verwendet werden soll.<br />
    * &#8211;protocol={TCP|SOCKET|PIPE|MEMORY}Das zu verwendende Verbindungsprotokoll.<br />
    * &#8211;quick, -qWenn Sie mit dieser Option Tabellen überprüfen, wird verhindert, dass die Datensätze auf falsche Verknüpfungen geprüft werden. Dies ist die schnellste Prüfmethode.Wenn Sie die Option bei der Reparatur von Tabellen einsetzen, wird versucht, nur den Indexbaum zu reparieren. Dies ist die schnellste Reparaturmethode.<br />
    * &#8211;repair, -rFührt eine Reparatur durch, die fast alle Fehler beheben kann. Ausgenommen sind lediglich eindeutige Schlüssel, die nicht eindeutig sind.<br />
    * &#8211;silent, -sStummer Modus. Gibt nur Fehlermeldungen aus.<br />
    * &#8211;socket=path, -S pathBei Verbindungen mit localhost ist dies die zu verwendende Unix-Socketdatei bzw. (unter Windows) der Name der zu verwendenden Named Pipe.<br />
    * &#8211;tablesSetzt die Option &#8211;databases bzw. -B außer Kraft. Alle auf die Option folgenden Namensargumente werden als Tabellennamen betrachtet.<br />
    * &#8211;user=user_name, -u user_nameVerwendet den angegebenen MySQL-Benutzernamen zur Verbindung mit dem Server.<br />
    * &#8211;verbose, -vAusführlicher Modus. Gibt Informationen zu den verschiedenen Stufen des Programmablaufs aus.<br />
    * &#8211;version, -VZeigt die Versionsinformation an und wird dann beendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/kurztipps/mysql-db-check-mit-mysqlcheck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iWatch Dateisystemüberwachung in Echtzeit</title>
		<link>http://www.knebler.de/howto/kurztipps/iwatch-dateisystemuberwachung-in-echtzeit/</link>
		<comments>http://www.knebler.de/howto/kurztipps/iwatch-dateisystemuberwachung-in-echtzeit/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:19:34 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Kurztipps]]></category>
		<category><![CDATA[iwatch]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=301</guid>
		<description><![CDATA[iWatch ist ein Programm zur Dateisystemüberwachung in Echtzeit. Es ist ein einfaches Perl-Skript, das Veränderungen in bestimmten Verzeichnissen/Dateien überwacht und Benachrichtigungen unverzüglich per E-Mail verschickt. Die Liste der überwachten Objekte wird aus einer xml-Konfigurationsdatei gelesen.
http://iwatch.sourceforge.net/documentation.html
Downloads
http://sourceforge.net/project/showfiles.php?group_id=174218
OpenSUSE 10.3:
http://software.opensuse.org/search
]]></description>
			<content:encoded><![CDATA[<p>iWatch ist ein Programm zur Dateisystemüberwachung in Echtzeit. Es ist ein einfaches Perl-Skript, das Veränderungen in bestimmten Verzeichnissen/Dateien überwacht und Benachrichtigungen unverzüglich per E-Mail verschickt. Die Liste der überwachten Objekte wird aus einer xml-Konfigurationsdatei gelesen.<br />
http://iwatch.sourceforge.net/documentation.html</p>
<p><strong>Downloads</strong><br />
http://sourceforge.net/project/showfiles.php?group_id=174218</p>
<p>OpenSUSE 10.3:<br />
http://software.opensuse.org/search</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/kurztipps/iwatch-dateisystemuberwachung-in-echtzeit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql root Passwort vergessen?</title>
		<link>http://www.knebler.de/howto/suse/mysql-root-passwort-vergessen/</link>
		<comments>http://www.knebler.de/howto/suse/mysql-root-passwort-vergessen/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 12:55:11 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[SuSE]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[passwort]]></category>
		<category><![CDATA[recover]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=289</guid>
		<description><![CDATA[Ein Reset des Mysql ROOT-Passwort ist recht einfach, solange man einen SSH Zugang zum Server hat. (Beispiel: SuSE)

 Stop mysql service

rcmysql stop


 Start to MySQL server w/o password:

mysqld_safe --skip-grant-tables &#038;


 Connect to mysql server using mysql client:

mysql -u root


 Setup new MySQL root user password

mysql> use mysql;
mysql> update user set password=PASSWORD("neues-passwort") where User='root';
mysql> flush privileges;
mysql> [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Reset des Mysql ROOT-Passwort ist recht einfach, solange man einen SSH Zugang zum Server hat. (Beispiel: SuSE)</p>
<ul>
<li> Stop mysql service
<pre class="brush: plain; light: true">
rcmysql stop
</pre>
</li>
<li> Start to MySQL server w/o password:
<pre class="brush: plain; light: true">
mysqld_safe --skip-grant-tables &#038;
</pre>
</li>
<li> Connect to mysql server using mysql client:
<pre class="brush: plain; light: true">
mysql -u root
</pre>
</li>
<li> Setup new MySQL root user password
<pre class="brush: plain; light: true">
mysql> use mysql;
mysql> update user set password=PASSWORD("neues-passwort") where User='root';
mysql> flush privileges;
mysql> quit
</pre>
</li>
<li> 5: Stop MySQL Server:
<pre class="brush: plain; light: true">
rcmysql stop
</pre>
</li>
<li> Start MySQL Server
<pre class="brush: plain; light: true">
rcmysql start
</pre>
</li>
<li> Login Test
<pre class="brush: plain; light: true">
mysql -u root -p
</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/suse/mysql-root-passwort-vergessen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie man eine MySQL Replikation repariert</title>
		<link>http://www.knebler.de/howto/wie-man-eine-mysql-replikation-repariert/</link>
		<comments>http://www.knebler.de/howto/wie-man-eine-mysql-replikation-repariert/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 13:32:50 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[SuSE]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=280</guid>
		<description><![CDATA[Bei einer MySQL Replikation (Master-&#62; Slave) kann es Manchmal ungültigen MySQL Abfragen geben, die dafür sorgen, dass die Replikation nicht mehr funktioniert.
Wie dieser Fehler behoben werden kann möchte ich nun zeigen:
Ausgangssituation:
OS: OpenSuSE
Mysql: Version 5.0.26
Cluster:
MysqlDB Master -&#62; Slave oder auch Master1 -&#62; Slave2 -&#62; Master2 -&#62; Slave1
Fehler:
Der Fehler kann in der Logdatei gefunden werden, 
/var/lib/mysql/mysqld.log
oder über [...]]]></description>
			<content:encoded><![CDATA[<p>Bei einer MySQL Replikation (Master-&gt; Slave) kann es Manchmal ungültigen MySQL Abfragen geben, die dafür sorgen, dass die Replikation nicht mehr funktioniert.</p>
<p>Wie dieser Fehler behoben werden kann möchte ich nun zeigen:</p>
<p><strong>Ausgangssituation:</strong></p>
<p>OS: OpenSuSE<br />
Mysql: Version 5.0.26<br />
Cluster:<br />
MysqlDB Master -&gt; Slave oder auch Master1 -&gt; Slave2 -&gt; Master2 -&gt; Slave1</p>
<p><strong>Fehler:</strong></p>
<p><em>Der Fehler kann in der Logdatei gefunden werden, </em></p>
<p>/var/lib/mysql/mysqld.log</p>
<p><em>oder über dir mysql konsole:</em></p>
<p><em>Anmeldung an der MySQLDB mit globalen Rechten:</em></p>
<pre class="brush: plain; light: true">
mysql -uroot -p********
</pre>
<p><em>Führe dieses Kommando in der MySQL Kommandozeile aus:</em></p>
<pre class="brush: plain; light: true">
mysql> show slave status\G;
</pre>
<p><strong>Ausgabe:</strong></p>
<pre class="brush: plain; light: true">
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.20
Master_User: rep-slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 49829205
Relay_Log_File: mysqlcluster2-relay-bin.000016
Relay_Log_Pos: 3680509
Relay_Master_Log_File: mysql-bin.000003
<strong>Slave_IO_Running: Yes
Slave_SQL_Running: No</strong>
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1062
Last_Error: Error 'Duplicate entry '9959-0-_transient_timeout_rss_5d9ad1c55ec39
ea3dba324257d3a091f' for key 1' on query. Default database: 'dbsms29200024'. Query: 'INSERT INTO
`wp_options` (`option_name`,`option_value`,`autoload`) VALUES ('_transient_timeout_rss_5d9ad1c5
5ec39ea3dba324257d3a091f','1257232955','no')'
Skip_Counter: 0
Exec_Master_Log_Pos: 48652901
Relay_Log_Space: 4856813
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
1 row in set (0.00 sec)

ERROR:
No query specified
</pre><br />
<strong>Achtung: </strong>Wenn Slave_IO_Running oder Slave_SQL_Running auf No gesetzt ist, dann ist die Replikation kaput.<br />
In aller Regel steht aber nur Slave_SQL_Running auf NO.</p>
<p><strong>Die Replikation reparieren</strong></p>
<p><em>Wir halten den Slave (192.168.0.20) mit dem Kommando stop slave an!</em></p>
<pre class="brush: plain; light: true">
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
</pre>
<p><em>Jetzt beheben wir das Problembehebung, in dem wir MYSQL (Slave) den Befehl zum überspringen der ungültige SQL Abfrage geben.</em></p>
<pre class="brush: plain; light: true">
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
Query OK, 0 rows affected (0.00 sec)
</pre>
<p><em>Jetzt wird der Slave wieder gestartet.</em></p>
<pre class="brush: plain; light: true">
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
</pre>
<p><em>Nun den Status prüfen mit dem Befehl show slave status\G,  das  "\G"  steht nur für die Formatierung.</em></p>
<pre class="brush: plain; light: true">
mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.20
Master_User: rep-slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 49930095
Relay_Log_File: mysqlcluster2-relay-bin.000017
Relay_Log_Pos: 235
Relay_Master_Log_File: mysql-bin.000003
<strong>Slave_IO_Running: Yes
Slave_SQL_Running: Yes</strong>
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 49930095
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)

ERROR:
No query specified
</pre>
<p><em>Der Fehler ist behoben, wenn Slave_SQL_Running auf Yes steht. Bei einem Cluster der Form Master1 -&gt; Slave2 -&gt; Master2 -&gt; Slave1<br />
ist es nicht ungewöhnlich dass der zweite Slave sich auch noch mal meldet. </em></p>
<p>Ich möcht nicht vergessen darauf hinzuweisen, dass ich keine Garantie für die Richtigkeit übernehmen kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/wie-man-eine-mysql-replikation-repariert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PlugIns um WordPress abzusichern</title>
		<link>http://www.knebler.de/it-sicherheit/plugins-um-wordpress-abzusichern/</link>
		<comments>http://www.knebler.de/it-sicherheit/plugins-um-wordpress-abzusichern/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:04:07 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[IT-Sicherheit]]></category>
		<category><![CDATA[abzusichern]]></category>
		<category><![CDATA[PlugIns]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.knebler.de/?p=277</guid>
		<description><![CDATA[NoSpamNX
NoSpamNX ist der Nachfolger von Yawasp (Yet Another WordPress Antispam Plugin) und ist ein Plugin zum Schutz vor automatisiertem Kommentar-Spam (Spambots). Während aber bei Yawasp die Namen der Formularfelder des Kommentar-Templates geändert wurde, kommt NoSpamNX ohne die Modifikationen aus, ist dabei aber genauso Effektiv. Durch den Wegfall der notwendigen Modifikationen wird eine größtmögliche Kompatibilität zur [...]]]></description>
			<content:encoded><![CDATA[<p><strong>NoSpamNX</strong></p>
<p>NoSpamNX ist der Nachfolger von Yawasp (Yet Another WordPress Antispam Plugin) und ist ein Plugin zum Schutz vor automatisiertem Kommentar-Spam (Spambots). Während aber bei Yawasp die Namen der Formularfelder des Kommentar-Templates geändert wurde, kommt NoSpamNX ohne die Modifikationen aus, ist dabei aber genauso Effektiv. Durch den Wegfall der notwendigen Modifikationen wird eine größtmögliche Kompatibilität zur anderen WordPress- oder Browser-Plugins gewährleistet.</p>
<p>NoSpamNX fügt beim Aufruf des Kommentarformulars automatisch zusätzliche Felder (versteckt vor dem “normalen” Benutzer) hinzu, die beim Speichern eines Kommentares überprüft werden. Für einen zusätzliches Schutz wird die Reihenfolge und die Werte dieser Felder periodisch geändert, so dass sich kein Spambot auf das Formular eines Blogs anpassen kann.</p>
<p><strong>Letztendlich bekommt man von automatisiertem Kommentar-Spam nichts mehr mit, der Nutzer muss keine zusätzlichen Felder mehr ausfüllen, und man kann sich ganz auf das Bloggen und die Kommentare seiner Leser konzentrieren!</strong></p>
<p>NoSpamNX ist ein echtes “Leichtgewicht”. Es benötigt kein JavaScript, Cookies, Sessions oder Änderungen am Kommentar-Template und ist trotzdem sehr effektiv.</p>
<p><a href="http://www.svenkubiak.de/nospamnx" target="_blank">Homepage</a></p>
<h2>Stealth Login</h2>
<p>Mit Stealth Login kann man dafür sorgen, dass die normale “wp-login.php” Seite nicht mehr direkt aufgerufen werden kann und eine eigene URL für Logins nutzen. Das ist insofern praktisch als das man so ggf. automatisierte Angriffe auf ein Blog verhindern kann.</p>
<p><a href="http://wordpress.org/extend/plugins/stealth-login/" target="_blank">Hompage</a></p>
<h2>WP-Ban</h2>
<p>Mittels des WP-Ban PlugIn kann man bestimmte IP-Adressen, Referrer, Hostnamen, etc. blocken.</p>
<p><a href="http://lesterchan.net/portfolio/programming/php/#wp-ban" target="_blank">Hompage</a></p>
<h2>WP-DBManager</h2>
<p>Eher indirekte Sicherheit bietet dieses PlugIn da es damit möglich ist, die WP-Datenbank regelmässig automatisch zu sichern.</p>
<p><a title="WP-DBManager" href="http://lesterchan.net/portfolio/programming/php/#wp-dbmanager" target="_blank">Homepage</a></p>
<h2>WordPress File Monitor</h2>
<p>Dieses PlugIn überwacht die WordPress-Installation und kann hinzugefügte/geänderte und entfernte Dateien an eine beliebige eMail-Adresse melden.</p>
<p><a title="WordPress File Monitor" href="http://mattwalters.net/projects/wordpress-file-monitor/" target="_blank">Homepage</a></p>
<h2>WP Security Scan</h2>
<p>Dieses PlugIn prüft verschiedene Aspekte der WordPress Installation (Datei-Berechtigungen, Admin-Account-Name, etc.) und entfernt alle Versionsinformationen um Angreifern das Leben möglichst schwer zu machen.</p>
<p><a title="WP Security Scan" href="http://semperfiwebdesign.com/plugins/wp-security-scan/" target="_blank">Homepage</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/it-sicherheit/plugins-um-wordpress-abzusichern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>freiesMagazin 10/2009</title>
		<link>http://www.knebler.de/linktipps/freiesmagazin-102009/</link>
		<comments>http://www.knebler.de/linktipps/freiesmagazin-102009/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 22:34:09 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Linktipps]]></category>
		<category><![CDATA[freiesMagazin]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=266</guid>
		<description><![CDATA[Topthemen
Grundbegriffe der Virtualisierung
Voll-, Para-, Hardware-Assisted-, Desktop- und Anwendungsvirtualisierung, um nur ein paar Schlagworte zu nennen, die vor allem in Verkaufs- und Beratungsgesprächen mit Buzzwords wie Green-IT oder Virtual Clouds gepaart werden. Doch wer weiß, was sich hinter all diesen Begriffen versteckt? Dieser Artikel soll speziell für Einsteiger etwas Licht ins Dunkel bringen.
Ordnung ins Chaos mit [...]]]></description>
			<content:encoded><![CDATA[<h2>Topthemen</h2>
<p><strong>Grundbegriffe der Virtualisierung</strong><br />
Voll-, Para-, Hardware-Assisted-, Desktop- und Anwendungsvirtualisierung, um nur ein paar Schlagworte zu nennen, die vor allem in Verkaufs- und Beratungsgesprächen mit Buzzwords wie Green-IT oder Virtual Clouds gepaart werden. Doch wer weiß, was sich hinter all diesen Begriffen versteckt? Dieser Artikel soll speziell für Einsteiger etwas Licht ins Dunkel bringen.</p>
<p><strong>Ordnung ins Chaos mit Org-Mode</strong><br />
Der Satz „Ich habe keine Zeit &#8230;“ ist die Standardantwort, die man oft genug zu hören bekommt, wenn man jemanden fragt, ob er eine Aufgabe übernehmen will. Interessanterweise haben alle Menschen genau gleich viel Zeit, nämlich 24 Stunden am Tag, und das Vorhandensein von „Extratagen“ oder „Zeitguthaben bei der Zeitbank“ gehört eher ins Reich der schriftstellerischen Fantasie.</p>
<p><strong>Von der Schaltung zur fertigen Platine mit EAGLE</strong><br />
Mit dem von der Firma CadSoft entwickelten Programm EAGLE kann man Schaltungen und Platinenlayouts entwerfen. EAGLE ist ein Akronym, das „Einfach Anzuwendender Grafischer Layout-Editor“ bedeutet. Trotz dieses deutschen Akronyms ist die Software auf Englisch. Die kostenlose Version ist auf eine halbe Europlatine (100 mm x 80 mm) und zwei Schichten beim Platinenlayout beschränkt, ansonsten kann man fast alles damit machen, was auch mit der Vollversion geht.</p>
<p><a style="font-weight: bold;" href="http://www.freiesmagazin.de/freiesMagazin-2009-10" target="_blank">Kompletter Inhalt und Download der Ausgabe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/linktipps/freiesmagazin-102009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIM oder Wer suchet, der findet</title>
		<link>http://www.knebler.de/allgemein/vim-oder-wer-suchet-der-findet/</link>
		<comments>http://www.knebler.de/allgemein/vim-oder-wer-suchet-der-findet/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 20:40:14 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Kurztipps]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=260</guid>
		<description><![CDATA[Vorwärts suchen
Um in einem geöffneten Text zu suchen, gibt man im Standardmodus ein / ein, d. h. man drückt „Shift“ + „7“. Anschließend fügt man den Suchbegriff ein: Also z. B. „Wort“. Abschließend bestätigt man den Suchauftrag über die Eingabetaste „Enter“.
Der Cursor bewegt sich nun an die erste Stelle im Text, an der der Begriff [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Vorwärts suchen</strong><br />
Um in einem geöffneten Text zu suchen, gibt man im Standardmodus ein / ein, d. h. man drückt <strong>„Shift“ + „7“</strong>. Anschließend fügt man den Suchbegriff ein: Also z. B. „Wort“. Abschließend bestätigt man den Suchauftrag über die Eingabetaste „Enter“.<br />
Der Cursor bewegt sich nun an die erste Stelle im Text, an der der Begriff „Wort“ gefunden wird. Die Taste „N“ wiederholt die Suche, der Cursor springt zur nächsten Fundstelle.<br />
Rückwärts suchen<br />
Mit „Shift“ + „N“ wird rückwärts im Text gesucht, also ab der aktuellen Cursorposition in Richtung Textanfang.<br />
Man kann mit der Eingabe von ?, also „Shift“ + „ß“, und einem nachfolgenden „Wort“ dem Editor auch mitteilen, dass er von vornherein rückwärts suchen soll.<br />
Suchmuster<br />
In den Suchbegriff eingebettet kann man nach verschiedenen Kriterien suchen und zwar (nach Betreten des Suchmodus mit „Shift“ + „7“):<br />
W.<br />
sucht nach W und einem beliebigen Zeichen<br />
^W<br />
sucht nach W am Zeilenanfang<br />
W$<br />
sucht nach W am Zeilenende<br />
W[a-e]<br />
sucht W und einem Zeichen von a bis e<br />
Groß- und Kleinschreibung umgehen<br />
Vim unterscheidet bei der Suche immer zwischen Groß- und Kleinschreibung. Wenn man dies nicht möchte, kann man das mit einem angehängten \c umgehen. Das gilt anschließend nur für diese eine Suche. Damit es für alle weiteren Suchen gilt, führt man das Kommando :set ignorecase aus. Die Eingabe screen \c sucht also nach „screen“ und nach „Screen“.<br />
Inkrementelle Suche<br />
Das Kommando :set incsearch aktiviert die inkrementelle Suche. Dies ist sinnvoll, wenn man nach dem Beginn eines Wortes sucht. Hier wird der Cursor schon während der Eingabe des Suchbegriffes an den ersten Übereinstimmungsort bewegt. Die „Enter“-Taste beendet diesen Spuk, mit der „Escape“-Taste wird die Suche abgebrochen. Nach der Suche bleiben die Übereinstimmungen im Text markiert, bis man entweder eine neue Suche beginnt oder das Kommando :nohlsearch eingibt.<br />
Anmerkungen zum :set-Kommando<br />
Die Optionen, die mit :set gesetzt werden, gelten nur für die aktuelle Vim-Sitzung. Sollen hingegen die Einstellungen permanent gesetzt bzw. nicht gesetzt sein, so muss dies in /etc/vimrc (gültig für das ganze System) oder ~/.vimrc (gültig nur für den aktuellen Benutzer) erfolgen.<br />
Suchen und Ersetzen<br />
Hier nun einige Funktionen, wie man Text suchen und ersetzen kann. Das Kommando, um zum Beispiel „abc“ durch „efg“ zu ersetzen, lautet :%s/abc/efg.<br />
Um das Suchen und Ersetzen noch besser zu kontrollieren, bestehen darüber hinaus folgende Möglichkeiten, die durch das Anfügen an das obige Kommando erreicht werden:<br />
/g<br />
ohne Rückfrage werden alle Vorkommen von „abc“ durch „efg“ ersetzt<br />
/gc<br />
mit Rückfrage werden alle Vorkommen von „abc“ durch „efg“ ersetzt<br />
/gi<br />
ersetzt alle Vorkommen von „abc“ durch „efg“ ohne Groß- und Kleinschreibung zu berücksichtigen<br />
Hinweis: Der ganze Ausdruck muss aneinander geschrieben werden: z. B. :%s/abc/efg/gi.<br />
Abspeichern und Verlassen<br />
Ganz am Schluss der Bearbeitung sollte man nicht vergessen, die Datei abzuspeichern. Dazu einfach das Kommando :w absetzen. Dann verlässt man die Datei mit einem :q. Ein :wq erledigt dies in einem Schritt.<br />
Fazit<br />
Wer erst einmal den Vim-Editor in seinen Grundfunktionen beherrscht, der kann zum Beispiel viel schneller Änderungen an Konfigurationsdateien vornehmen, als so manch anderer Benutzer, der mit einem grafischen Editor unterwegs ist.<br />
Voraussetzung dafür ist aber das ständige und konsequente Benutzen des Editors. Am Besten macht man sich nebenher auf einem Stück Papier eine Übersicht der gängigsten Befehle und legt das neben die Tastatur. So gewöhnt man sich schneller an den Umgang und wird immer vertrauter mit diesem Urgestein der Editoren.</p>
<p> <img src='http://www.knebler.de/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/allgemein/vim-oder-wer-suchet-der-findet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>openbook</title>
		<link>http://www.knebler.de/allgemein/226/</link>
		<comments>http://www.knebler.de/allgemein/226/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 07:10:55 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=226</guid>
		<description><![CDATA[


&#60;openbook&#62; (HTML)
Zip



Objektorientierte Programmierung
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 5,2 MB)






Visual Basic 2008
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 12,3 MB)






Java ist auch eine Insel
Programmieren mit der Java Standard Edition Version 6
[Zum Buchkatalog/Shop]

[Download]
(etwa 14,1 MB)






Windows Server 2008
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 80,4 MB)






Joomla! 1.5
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 28,5 MB)






Ubuntu GNU/Linux
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 44,2 MB)






Visual C# 2008
Das umfassende Handbuch
[Zum Buchkatalog/Shop]

[Download]
(etwa 13,6 MB)






Einstieg in Visual Basic 2008
[Zum Buchkatalog/Shop]

[Download]
(etwa 8,4 MB)






Ruby on [...]]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="3" cellpadding="3" width="100%">
<tbody>
<tr>
<th colspan="2">&lt;openbook&gt; (HTML)</th>
<th>Zip</th>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/oop/" target="_openbook"><img title="Zum &lt;openbook&gt; Objektorientierte Programmierung" src="http://cover.galileo-press.de/9783836214018_s.gif" border="0" alt="Zum &lt;openbook&gt; Objektorientierte Programmierung" /></a></td>
<td><a href="http://openbook.galileocomputing.de/oop/" target="_openbook">Objektorientierte Programmierung<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2103?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/oop/galileocomputing_oop.zip">Download</a>]<br />
(etwa 5,2 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/visualbasic_2008/" target="_openbook"><img title="Zum &lt;openbook&gt; Visual Basic 2008" src="http://cover.galileo-press.de/9783836211710_s.gif" border="0" alt="Zum &lt;openbook&gt; Visual Basic 2008" /></a></td>
<td><a href="http://openbook.galileocomputing.de/visualbasic_2008/" target="_openbook">Visual Basic 2008<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1746?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/visualbasic_2008/galileocomputing_visualbasic_2008.zip">Download</a>]<br />
(etwa 12,3 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/javainsel8/" target="_openbook"><img title="Zum &lt;openbook&gt; Java ist auch eine Insel" src="http://cover.galileo-press.de/9783836213714_s.gif" border="0" alt="Zum &lt;openbook&gt; Java ist auch eine Insel" /></a></td>
<td><a href="http://openbook.galileocomputing.de/javainsel8/" target="_openbook">Java ist auch eine Insel<br />
<span class="h13">Programmieren mit der Java Standard Edition Version 6</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2069?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/javainsel8/galileocomputing_javainsel8.zip">Download</a>]<br />
(etwa 14,1 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/windows_server_2008/" target="_openbook"><img title="Zum &lt;openbook&gt; Windows Server 2008" src="http://cover.galileo-press.de/9783836213271_s.gif" border="0" alt="Zum &lt;openbook&gt; Windows Server 2008" /></a></td>
<td><a href="http://openbook.galileocomputing.de/windows_server_2008/" target="_openbook">Windows Server 2008<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1975?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/windows_server_2008/galileocomputing_windows_server_2008.zip">Download</a>]<br />
(etwa 80,4 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/joomla15/" target="_openbook"><img title="Zum &lt;openbook&gt; Joomla! 1.5" src="http://cover.galileo-press.de/9783898428811_s.gif" border="0" alt="Zum &lt;openbook&gt; Joomla! 1.5" /></a></td>
<td><a href="http://openbook.galileocomputing.de/joomla15/" target="_openbook">Joomla! 1.5<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1393?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/joomla15/galileocomputing_joomla15.zip">Download</a>]<br />
(etwa 28,5 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/ubuntu/" target="_openbook"><img title="Zum &lt;openbook&gt; Ubuntu GNU/Linux" src="http://cover.galileo-press.de/9783836211505_s.gif" border="0" alt="Zum &lt;openbook&gt; Ubuntu GNU/Linux" /></a></td>
<td><a href="http://openbook.galileocomputing.de/ubuntu/" target="_openbook">Ubuntu GNU/Linux<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1710?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/ubuntu/galileocomputing_ubuntu.zip">Download</a>]<br />
(etwa 44,2 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/visual_csharp/" target="_openbook"><img title="Zum &lt;openbook&gt; Visual C# 2008" src="http://cover.galileo-press.de/9783836211727_s.gif" border="0" alt="Zum &lt;openbook&gt; Visual C# 2008" /></a></td>
<td><a href="http://openbook.galileocomputing.de/visual_csharp/" target="_openbook">Visual C# 2008<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1747?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/visual_csharp/galileocomputing_visual_csharp.zip">Download</a>]<br />
(etwa 13,6 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/einstieg_vb_2008/" target="_openbook"><img title="Zum &lt;openbook&gt; Einstieg in Visual Basic 2008" src="http://cover.galileo-press.de/9783836211925_s.gif" border="0" alt="Zum &lt;openbook&gt; Einstieg in Visual Basic 2008" /></a></td>
<td><a href="http://openbook.galileocomputing.de/einstieg_vb_2008/" target="_openbook">Einstieg in Visual Basic 2008</a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1780?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/einstieg_vb_2008/galileocomputing_einstieg_vb_2008.zip">Download</a>]<br />
(etwa 8,4 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/ruby_on_rails/" target="_openbook"><img title="Zum &lt;openbook&gt; Ruby on Rails 2" src="http://cover.galileo-press.de/9783898427791_s.gif" border="0" alt="Zum &lt;openbook&gt; Ruby on Rails 2" /></a></td>
<td><a href="http://openbook.galileocomputing.de/ruby_on_rails/" target="_openbook">Ruby on Rails 2<br />
<span class="h13">Das Entwickler-Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1204?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/ruby_on_rails/galileocomputing_ruby_on_rails.zip">Download</a>]<br />
(etwa 6,7 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/python/" target="_openbook"><img title="Zum &lt;openbook&gt; Python" src="http://cover.galileo-press.de/9783836211109_s.gif" border="0" alt="Zum &lt;openbook&gt; Python" /></a></td>
<td><a href="http://openbook.galileocomputing.de/python/" target="_openbook">Python<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1626?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/python/galileocomputing_python.zip">Download</a>]<br />
(etwa 4,8 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/it_handbuch/" target="_openbook"><img title="Zum &lt;openbook&gt; IT-Handbuch für Fachinformatiker" src="http://cover.galileo-press.de/9783836210157_s.gif" border="0" alt="Zum &lt;openbook&gt; IT-Handbuch für Fachinformatiker" /></a></td>
<td><a href="http://openbook.galileocomputing.de/it_handbuch/" target="_openbook">IT-Handbuch für Fachinformatiker<br />
<span class="h13">Der Ausbildungsbegleiter 3., aktualisierte und erweiterte Auflage</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1234?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/it_handbuch/galileocomputing_it_handbuch.zip">Download</a>]<br />
(etwa 6,6 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/linux/" target="_openbook"><img title="Zum &lt;openbook&gt; Linux" src="http://cover.galileo-press.de/9783836210904_s.gif" border="0" alt="Zum &lt;openbook&gt; Linux" /></a></td>
<td><a href="http://openbook.galileocomputing.de/linux/" target="_openbook">Linux<br />
<span class="h13">Das distributionsunabhängige Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1579?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/linux/galileocomputing_linux.zip">Download</a>]<br />
(etwa 6,3 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/plone25/" target="_openbook"><img title="Zum &lt;openbook&gt; Plone 2.5" src="http://cover.galileo-press.de/9783898426251_s.gif" border="0" alt="Zum &lt;openbook&gt; Plone 2.5" /></a></td>
<td><a href="http://openbook.galileocomputing.de/plone25/" target="_openbook">Plone 2.5<br />
<span class="h13">Umfassender Einstieg in Plone, Zope, Python und CMF</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-965?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/plone25/galileocomputing_plone25.zip">Download</a>]<br />
(etwa 5,2 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/excel_2007/" target="_openbook"><img title="Zum &lt;openbook&gt; Excel 2007 ? Das umfassende Handbuch" src="http://cover.galileo-press.de/9783898428644_s.gif" border="0" alt="Zum &lt;openbook&gt; Excel 2007 ? Das umfassende Handbuch" /></a></td>
<td><a href="http://openbook.galileocomputing.de/excel_2007/" target="_openbook">Excel 2007 ? Das umfassende Handbuch</a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1364?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/excel_2007/galileocomputing_excel_2007.zip">Download</a>]<br />
(etwa 63 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/javascript_ajax/" target="_openbook"><img title="Zum &lt;openbook&gt; JavaScript und AJAX" src="http://cover.galileo-press.de/9783898428590_s.gif" border="0" alt="Zum &lt;openbook&gt; JavaScript und AJAX" /></a></td>
<td><a href="http://openbook.galileocomputing.de/javascript_ajax/" target="_openbook">JavaScript und AJAX<br />
<span class="h13">Das umfassende Handbuch</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1349?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/javascript_ajax/galileocomputing_javascript_ajax.zip">Download</a>]<br />
(etwa 9,4 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/microsoft_netzwerk/" target="_openbook"><img title="Zum &lt;openbook&gt; Integrationshandbuch Microsoft-Netzwerk" src="http://cover.galileo-press.de/9783898428477_s.gif" border="0" alt="Zum &lt;openbook&gt; Integrationshandbuch Microsoft-Netzwerk" /></a></td>
<td><a href="http://openbook.galileocomputing.de/microsoft_netzwerk/" target="_openbook">Integrationshandbuch Microsoft-Netzwerk<br />
<span class="h13">Windows Server 2003 R2, SBS 2003, ADS, Exchange Server, Windows XP und Microsoft Office</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1338?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/microsoft_netzwerk/galileocomputing_microsoft_netzwerk.zip">Download</a>]<br />
(etwa 41 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/joomla/" target="_openbook"><img title="Zum &lt;openbook&gt; Joomla!" src="http://cover.galileo-press.de/9783898426329_s.gif" border="0" alt="Zum &lt;openbook&gt; Joomla!" /></a></td>
<td><a href="http://openbook.galileocomputing.de/joomla/" target="_openbook">Joomla!<br />
<span class="h13">Das Handbuch für Einsteiger</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-975?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/joomla/galileocomputing_joomla.zip">Download</a>]<br />
(etwa 19,6 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/c_von_a_bis_z/" target="_openbook"><img title="Zum &lt;openbook&gt; C von A bis Z" src="http://cover.galileo-press.de/9783898426435_s.gif" border="0" alt="Zum &lt;openbook&gt; C von A bis Z" /></a></td>
<td><a href="http://openbook.galileocomputing.de/c_von_a_bis_z/" target="_openbook">C von A bis Z<br />
<span class="h13">Das umfassende Handbuch für Linux, Unix und Windows</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-899?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/c_von_a_bis_z/galileocomputing_c_von_a_bis_z.zip">Download</a>]<br />
(etwa 8,2 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/vmware/" target="_openbook"><img title="Zum &lt;openbook&gt; VMware und Microsoft Virtual Server" src="http://cover.galileo-press.de/9783898427012_s.gif" border="0" alt="Zum &lt;openbook&gt; VMware und Microsoft Virtual Server" /></a></td>
<td><a href="http://openbook.galileocomputing.de/vmware/" target="_openbook">VMware und Microsoft Virtual Server<br />
<span class="h13">Virtuelle Server im professionellen Einsatz</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1102?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/vmware/galileocomputing_vmware.zip">Download</a>]<br />
(etwa 17,5 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/php_pear/" target="_openbook"><img title="Zum &lt;openbook&gt; PHP PEAR" src="http://cover.galileo-press.de/9783898425803_s.gif" border="0" alt="Zum &lt;openbook&gt; PHP PEAR" /></a></td>
<td><a href="http://openbook.galileocomputing.de/php_pear/" target="_openbook">PHP PEAR<br />
<span class="h13">Anwendung und Entwicklung ? Erweiterungen für PHP schreiben</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-891?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/php_pear/galileocomputing_php_pear.zip">Download</a>]<br />
(etwa 5,4 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/knoppix/" target="_openbook"><img title="Zum &lt;openbook&gt; Linux-Livesysteme" src="http://cover.galileo-press.de/9783898426312_s.gif" border="0" alt="Zum &lt;openbook&gt; Linux-Livesysteme" /></a></td>
<td><a href="http://openbook.galileocomputing.de/knoppix/" target="_openbook">Linux-Livesysteme<br />
<span class="h13">Knoppix, Ubuntu, Morphix, Kanotix, Mepis, Quantian &amp; Co.</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-976?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/knoppix/galileocomputing_knoppix.zip">Download</a>]<br />
(etwa 8,2 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/pcnetzwerke/" target="_openbook"><img title="Zum &lt;openbook&gt; PC-Netzwerke" src="http://cover.galileo-press.de/9783898424967_s.gif" border="0" alt="Zum &lt;openbook&gt; PC-Netzwerke" /></a></td>
<td><a href="http://openbook.galileocomputing.de/pcnetzwerke/" target="_openbook">PC-Netzwerke<br />
<span class="h13">2. Auflage</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-754?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/pcnetzwerke/galileocomputing_pcnetzwerke.zip">Download</a>]<br />
(etwa 8,9 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/unix_guru/" target="_openbook"><img title="Zum &lt;openbook&gt; Wie werde ich UNIX-Guru?" src="http://cover.galileo-press.de/9783898422406_s.gif" border="0" alt="Zum &lt;openbook&gt; Wie werde ich UNIX-Guru?" /></a></td>
<td><a href="http://openbook.galileocomputing.de/unix_guru/" target="_openbook">Wie werde ich UNIX-Guru?<br />
<span class="h13">Einführung in UNIX, Linux und Co</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-431?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/unix_guru/galileocomputing_unix_guru.zip">Download</a>]<br />
(etwa 3,9 MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><a href="http://openbook.galileocomputing.de/java2/" target="_openbook"><img title="Zum &lt;openbook&gt; Java 2" src="http://cover.galileo-press.de/9783934358669_s.gif" border="0" alt="Zum &lt;openbook&gt; Java 2" /></a></td>
<td><a href="http://openbook.galileocomputing.de/java2/" target="_openbook">Java 2<br />
<span class="h13">Designmuster und Zertifizierungswissen</span></a></p>
<p><a class="a10" href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-210?GalileoSession=68923253A4Exc0-NCWg">[Zum Buchkatalog/Shop]</a></td>
<td><img src="http://images.galileo-press.de/icon_zip.gif" border="0" alt="Galileo Press - &lt;openbook&gt; - Zip-Download" hspace="3" vspace="3" /><br />
[<a href="http://download.galileo-press.de/openbook/java2/galileocomputing_java2.zip">Download</a>]<br />
(etwa 3,2MB)</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td colspan="2" bgcolor="#eeeeee">Weitere &lt;openbooks&gt; finden Sie bei<br />
<a href="http://www.galileodesign.de/katalog/openbook/?GalileoSession=68923253A4Exc0-NCWg">Galileo Design</a></td>
<td bgcolor="#eeeeee"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/allgemein/226/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress und 1&amp;1</title>
		<link>http://www.knebler.de/howto/kurztipps/wordpress-und-11/</link>
		<comments>http://www.knebler.de/howto/kurztipps/wordpress-und-11/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 20:26:01 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[Kurztipps]]></category>
		<category><![CDATA[1&1]]></category>
		<category><![CDATA[500]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[wordpres]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=220</guid>
		<description><![CDATA[Wer sein Wordpress bei 1&#38;1 mit MySqlDB einrichten will, bekommt oft die Fehlermeldung (”500 Interner Serverfehler”). Vorallem bei der Installation eines PlugIns bleibt Wordpress stehen  oder reagierte seltsam, wenn man die PlugIn-Seite aufruft.
Die Lösung des Problems liegt in der .htaccess Datei im Wordpress-Verzeichnis in die folgende Zeilen eingefügt werden müssen:
# PHP5 auf 1und1 einschalten
AddType x-mapp-php5 [...]]]></description>
			<content:encoded><![CDATA[<p>Wer sein Wordpress bei 1&amp;1 mit MySqlDB einrichten will, bekommt oft die Fehlermeldung (”500 Interner Serverfehler”). Vorallem bei der Installation eines PlugIns bleibt Wordpress stehen  oder reagierte seltsam, wenn man die PlugIn-Seite aufruft.</p>
<p>Die Lösung des Problems liegt in der .htaccess Datei im Wordpress-Verzeichnis in die folgende Zeilen eingefügt werden müssen:</p>
<pre># PHP5 auf 1und1 einschalten
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/howto/kurztipps/wordpress-und-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
