<?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>YourHelpCenter.de &#187; MySQL</title>
	<atom:link href="http://www.yourhelpcenter.de/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yourhelpcenter.de</link>
	<description>Hilfe &#38; Support für IT Probleme</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:17:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>mySQL: root Passwort ändern</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-root-passwort-andern-2/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-root-passwort-andern-2/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 19:20:51 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ändern]]></category>
		<category><![CDATA[anpassen]]></category>
		<category><![CDATA[korrigieren]]></category>
		<category><![CDATA[mysql root passwort ändern]]></category>
		<category><![CDATA[neu setzen]]></category>
		<category><![CDATA[neues root passwort]]></category>
		<category><![CDATA[new root password]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[root password]]></category>
		<category><![CDATA[root passwort]]></category>
		<category><![CDATA[rootpasswort]]></category>
		<category><![CDATA[set root password]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=403</guid>
		<description><![CDATA[Mit folgenden Befehlen können Sie das root Passwort Ihres mySQL Server ändern: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h YourDomain.com password 'new-password' Beachten Sie dazu auch unsere anderen Artikel: mySQL: Vergessenes (root) Passwort zurücksetzen mySQL: Alte MD5 Passwörter – OLD_PASSWORD() MySQL: Root Passwort ändern mySQL: Alte MD5 Passwörter – OLD_PASSWORD()]]></description>
			<content:encoded><![CDATA[<p>Mit folgenden Befehlen können Sie das root Passwort Ihres mySQL Server ändern:</p>

<div class="wp_syntax"><div class="code"><pre class="command" style="font-family:monospace;">/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h YourDomain.com password 'new-password'</pre></div></div>

<p>Beachten Sie dazu auch unsere anderen Artikel:</p>
<ul>
<li><a href="http://www.yourhelpcenter.de/2010/07/mysql-vergessenes-root-passwort-zurucksetzen/">mySQL: Vergessenes (root) Passwort zurücksetzen</a></li>
<li><a href="http://www.yourhelpcenter.de/2009/07/mysql-alte-md5-passworter-old_password/" target="_blank">mySQL: Alte MD5 Passwörter – OLD_PASSWORD()</a></li>
<li><a href="http://www.yourhelpcenter.de/2008/11/mysql-root-passwort-andern/" target="_blank">MySQL: Root Passwort ändern</a></li>
</ul>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h2 id="post-385"><a title="Permanenter Link zu mySQL: Alte MD5 Passwörter – OLD_PASSWORD()" rel="bookmark" href="../2009/07/mysql-alte-md5-passworter-old_password/">mySQL: Alte MD5 Passwörter – OLD_PASSWORD()</a></h2>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-root-passwort-andern-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: Eindeutige ID (UID) erzeugen</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-eindeutige-id-uid-erzeugen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-eindeutige-id-uid-erzeugen/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 17:46:40 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[eindeutige ID]]></category>
		<category><![CDATA[einmalige ID]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[GUID]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[Seriennummer]]></category>
		<category><![CDATA[UID]]></category>
		<category><![CDATA[unique ID]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1271</guid>
		<description><![CDATA[Damit Sie in einem SQL Statement eine eindeutige ID (unique ID = UID) nutzen können, steht Ihnen der Befehl &#8220;uuid()&#8221; zur Verfügung: SELECT UUID&#40;&#41;; Ergebnis: f15be048-dfb8-102d-b15d-88b2e2560827 Hinweis: In Verbindung mit einer aktiven Replikation kann diese Funktion derzeit noch nicht genutzt werden.]]></description>
			<content:encoded><![CDATA[<p>Damit Sie in einem SQL Statement eine eindeutige ID (unique ID = UID) nutzen können, steht Ihnen der Befehl &#8220;uuid()&#8221; zur Verfügung:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> UUID<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ergebnis:</p>
<pre>f15be048-dfb8-102d-b15d-88b2e2560827</pre>
<p>Hinweis:<br />
In Verbindung mit einer aktiven Replikation kann diese Funktion derzeit noch nicht genutzt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-eindeutige-id-uid-erzeugen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: IP Adresse in Integer umrechnen (und zurück)</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-ip-adresse-in-integer-umrechnen-und-zuruck/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-ip-adresse-in-integer-umrechnen-und-zuruck/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 18:22:03 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[IP Adresse]]></category>
		<category><![CDATA[ip adressen]]></category>
		<category><![CDATA[ips]]></category>
		<category><![CDATA[speichern]]></category>
		<category><![CDATA[umrechnen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1268</guid>
		<description><![CDATA[Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben. Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion &#8220;inet_aton()&#8221;. Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln. Das folgende Beispiel zeigt die Anwendung: SELECT INET_ATON&#40;'192.168.0.200'&#41;; Ergebnis: 3232235720 Die Zahl berechnet sich aus folgender Formel: 192×2563 + 168×2562 + 0×256 + 200 = [...]]]></description>
			<content:encoded><![CDATA[<p>Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben.<br />
Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion &#8220;inet_aton()&#8221;.<br />
Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln.<br />
Das folgende Beispiel zeigt die Anwendung:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> INET_ATON<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'192.168.0.200'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ergebnis:</p>
<pre>3232235720</pre>
<p>Die Zahl berechnet sich aus folgender Formel:</p>
<pre>192×2563 + 168×2562 + 0×256 + 200 = 3232235720</pre>
<p>Um diese Zahl wieder in eine gültige IP Adresse zu konvertieren, zeigen wir im folgenden Beispiel<br />
die Anwendung des mySQL Befehls &#8220;inet_ntoa()&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> INET_NTOA<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3232235720</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ergebnis:</p>
<pre>192.168.0.200</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-ip-adresse-in-integer-umrechnen-und-zuruck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: Aktuelle mySQL Version auslesen</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-aktuelle-mysql-version-auslesen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-aktuelle-mysql-version-auslesen/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 19:04:03 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Aktuelle Version]]></category>
		<category><![CDATA[Datenbanklogging]]></category>
		<category><![CDATA[Datenbankversion]]></category>
		<category><![CDATA[DB-Log]]></category>
		<category><![CDATA[Log-Status prüfen]]></category>
		<category><![CDATA[Loggin bemerken]]></category>
		<category><![CDATA[Version anzeigen]]></category>
		<category><![CDATA[Version herausfinden]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1264</guid>
		<description><![CDATA[Benutzen Sie direkt in Ihrem SQL Statement die Funktion &#8220;version()&#8221;: SELECT VERSION&#40;&#41;; Ergebnis (Beispiel): 5.1.5-alpha-standard Hinweis: Endet die angezeigte Version mit dem Text &#8220;-log&#8221;, ist das Loggen (Logging) auf dem Server aktiviert.]]></description>
			<content:encoded><![CDATA[<p>Benutzen Sie direkt in Ihrem SQL Statement die Funktion &#8220;version()&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> VERSION<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ergebnis (Beispiel):</p>
<pre>5.1.5-alpha-standard</pre>
<p>Hinweis:<br />
Endet die angezeigte Version mit dem Text &#8220;-log&#8221;, ist das Loggen (Logging) auf dem Server aktiviert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-aktuelle-mysql-version-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: Aktuell angemeldeten Benutzer anzeigen</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-aktuell-angemeldeten-benutzer-anzeigen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-aktuell-angemeldeten-benutzer-anzeigen/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 18:01:38 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[aktiver Benutzer]]></category>
		<category><![CDATA[Aktueller Benutzer]]></category>
		<category><![CDATA[Angemeldeter Benutzer]]></category>
		<category><![CDATA[Anmeldung]]></category>
		<category><![CDATA[Benutzername]]></category>
		<category><![CDATA[current user]]></category>
		<category><![CDATA[currently logged in user]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[hostname]]></category>
		<category><![CDATA[Servername]]></category>
		<category><![CDATA[Servernamen]]></category>
		<category><![CDATA[username]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=1256</guid>
		<description><![CDATA[Um innerhalb eines mySQL Befehles den aktuell angemeldeten Benutzer zu erhalten, nutzen Sie einfach die Funktion &#8220;current_user()&#8221;. Das folgende, einfache Beispiel zeigt die Anwendung: SELECT CURRENT_USER&#40;&#41;; Gleichzeitig wird der Hostname ausgegeben. Ergebnis (Beispiel): test@localhost Eine weitere Funktion ist &#8220;user()&#8221;. Die Funktion liefert Ihnen den Benutzernamen, welchen Sie beim Herstellen der Verbindung zu Ihrem mySQL Server [...]]]></description>
			<content:encoded><![CDATA[<p>Um innerhalb eines mySQL Befehles den aktuell angemeldeten Benutzer zu erhalten, nutzen Sie einfach die Funktion &#8220;current_user()&#8221;. Das folgende, einfache Beispiel zeigt die Anwendung:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> CURRENT_USER<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Gleichzeitig wird der Hostname ausgegeben.<br />
Ergebnis (Beispiel): </p>
<pre>test@localhost</pre>
<p>Eine weitere Funktion ist &#8220;user()&#8221;. Die Funktion liefert Ihnen den Benutzernamen, welchen Sie beim Herstellen der Verbindung zu Ihrem mySQL Server eingegeben haben. Zusätzlich wird der Clienthost ausgegeben, über den die Verbindung hergestellt wurde. Der Wert kann sich von dem von der o.a. Funktion &#8220;current_user()&#8221; unterscheiden.</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> USER<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Um aus der Funktion &#8220;user()&#8221; nur den aktuellen Benutzernamen zu erhalten, nutzen Sie folgenden SQL Befehl:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> SUBSTRING_INDEX<span style="color: #66cc66;">&#40;</span>USER<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'@'</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-aktuell-angemeldeten-benutzer-anzeigen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: Vergessenes (root) Passwort zurücksetzen</title>
		<link>http://www.yourhelpcenter.de/2010/07/mysql-vergessenes-root-passwort-zurucksetzen/</link>
		<comments>http://www.yourhelpcenter.de/2010/07/mysql-vergessenes-root-passwort-zurucksetzen/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 19:38:32 +0000</pubDate>
		<dc:creator>Günther</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[ändern]]></category>
		<category><![CDATA[forget]]></category>
		<category><![CDATA[forgotten]]></category>
		<category><![CDATA[initialize]]></category>
		<category><![CDATA[lost password]]></category>
		<category><![CDATA[my sql]]></category>
		<category><![CDATA[mysql Database]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[re-set]]></category>
		<category><![CDATA[reminding]]></category>
		<category><![CDATA[rescue]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[resetten]]></category>
		<category><![CDATA[root password]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[set back]]></category>
		<category><![CDATA[setzen]]></category>
		<category><![CDATA[zurücksetzen]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=435</guid>
		<description><![CDATA[Wenn Sie Ihr mySQL Masterpasswort (das &#8220;root-Passwort&#8221;) vergessen haben, können Sie es neu setzen (resetten). Dafür stellen wir Ihnen drei Alternativen zur Verfügung. Diese Technik können Sie auch nutzen, um Ihr root-Passwort zu ändern. Wir möchten Ihnen für die Änderung des mySQL root Passwortes jedoch einer unserer anderen Anleitungen anbieten. Dafür müssen Sie jedoch das [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn Sie Ihr mySQL Masterpasswort (das &#8220;root-Passwort&#8221;) vergessen haben, können Sie es neu setzen (resetten). Dafür stellen wir Ihnen drei Alternativen zur Verfügung.</p>
<p>Diese Technik können Sie auch nutzen, um Ihr root-Passwort zu ändern. Wir möchten Ihnen für die Änderung des mySQL root Passwortes jedoch einer unserer anderen Anleitungen anbieten. Dafür müssen Sie jedoch das aktuelle root-Passwort noch kennen: <a href="http://www.yourhelpcenter.de/2008/11/mysql-root-passwort-andern/" target="_blank">mySQL: Root Passwort ändern</a>.</p>
<p><strong>Möglichkeit 1 (unsicherer als Methode 2 &amp; 3)</strong></p>
<p>Sie können das root Passwort auf jeder Plattform (Windows, Linux, &#8230;) auch mit der offiziellen Client-Software &#8220;mysql&#8221; einstellen:</p>
<ol>
<li>Stoppen Sie &#8220;mysqld&#8221; (mySQL Service / Dienst) und starten Sie ihn erneut. Dabei geben Sie als Option &#8220;&#8211;skip-grant-tables &#8211;user=root&#8221; mit. Als Windowsbenutzer lassen Sie bitte &#8220;&#8211;user=root&#8221; weg

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">mysqld --skip-grant-tables --user=root</pre></div></div>

</li>
<li>Nun verbinden Sie sich mit dem mySQL-Server (dem mysqld Service):

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">mysql -u root</pre></div></div>

</li>
<li>Geben Sie im mySQL-Client die folgende SQL Anweisungen ein:

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> mysql<span style="color: #66cc66;">.</span>user <span style="color: #993333; font-weight: bold;">SET</span> Password<span style="color: #66cc66;">=</span>PASSWORD<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NeuesPasswort'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">WHERE</span> User<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'root'</span>;
<span style="color: #993333; font-weight: bold;">FLUSH</span> PRIVILEGES;</pre></td></tr></table></div>

<p>Ersetzen Sie im vorherigen Befehl bitte den Text &#8220;NeuesPasswort&#8221; durch Ihr neues root-Passwort. Achten Sie dabei vorerst darauf, dass Sie keine Sonderzeichen, Umlaute und andere besondere Zeichen eingeben. Diese führen später häufig zu Problemen. Testen Sie zuerst das Zurücksetzen des root-Passwortes mit einem einfachen Passwort.</li>
<li>Ihr neues root-Passwort sollte nun funktionieren</li>
</ol>
<p><strong>Möglichkeit 2 (unter Windows)</strong></p>
<ol>
<li>Melden Sie sich bitte als Administrator an Ihrem Computer an. Bei neu Windows-Versionen können Sie sich als Benutzer mit Administratorrechten anmelden.</li>
<li>Sollte der mySQL Server laufen, stoppen Sie ihn bitte.<br />
Wenn er als Windows-Dienst gestartet ist, benutzen Sie bitte den Microsoft Dienstmanager:</p>
<pre>Start > Systemsteuerung (ggf. auf Symbolansicht umstellen) > Verwaltung > Dienste</pre>
<p>In der Liste der Dienste suchen Sie den &#8220;MySQL-Dienst&#8221;. Klicken Sie den Eintrag einmal an und anschließend auf das Stop-Symbol oberhalb der Liste.<br />
Sollte der mySQL-Server nicht als Dienst läufen, benötigen Sie ggf. die Hilfe des Task-Managers (Strg+Alt+Entf) um das Programm unsanft zu beenden.</li>
<li>Erstellen Sie nun eine neue Textdatei und tragen Sie folgende Zeile (nur eine !) ein:

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SET</span> PASSWORD <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #ff0000;">'root'</span>@<span style="color: #ff0000;">'localhost'</span> <span style="color: #66cc66;">=</span> PASSWORD<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NeuesPasswort'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Speichern Sie diese Datei jetzt unter einem beliebigen Namen. Für dieses Beispiel benutzen wir den Namen &#8220;C:\mysql-reset.txt&#8221;.</li>
<li>Starten/Öffnen Sie die Kommandozeile:
<pre>Start > Ausführen (oder Windowstaste + R) > cmd</pre>
</li>
<li>Starten Sie Ihren mySQL-Server neu und geben Sie ihm dabei Ihre gerade erstellte Datei mit an:

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">C:\mysql\bin\mysqld-nt --init-file=C:\mysql-reset.txt</pre></div></div>

<p>Bei diesem Befehl wird davon aufgegangen, dass der mySQL Server auf Ihrem Computer unter &#8220;C:\mysql&#8221; installiert ist. Gerade auf neueren Windows-Versionen ist das nicht mehr allzu üblich und daher finden Sie den mySQL Server dort meistens unter &#8220;C:\Program Files (x86)\mysql\&#8221;. Dann lautet der Befehl:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;C:\Program Files <span style="color: #66cc66;">&#40;</span>x86<span style="color: #66cc66;">&#41;</span>\bin\mysqld-nt&quot; --init-file=C:\mysql-reset.txt</pre></div></div>

<p>Aufgrund der Leerzeichen im Pfad des Programmes muss der erste Befehlsteil in Anführungszeichen gesetzt werden!</p>
<p>Nutzen Sie den mySQL Server als Dienst, starten Sie bitte jetzt den Dienst wieder.</li>
<li>Ihr neues root-Passwort sollte nun funktionieren. Vergessen Sie bitte nicht, die Datei &#8220;C:\mysql-reset.txt&#8221; zu löschen.</li>
</ol>
<p><strong>Möglichkeit 3 (unter Linux)</strong></p>
<ol>
<li>Sie melden sich als root-Benutzer bzw. als derjenige Benutzer, unter dem der mysqld-Server läuft, auf Ihrem Linux (Unix) Computer an.</li>
<li>Suchen Sie nun die .pid-Datei, welche die aktuelle Prozess-ID des mySQL-Servers enthält.<br />
Der genaue Pfad und der Name sint sehr stark von Ihrer Linux-Distribution, Ihrem Hostnamen und der Konfiguration Ihres System ab. Häufig liegen diese .pid-Dateien unter<br />
/var/lib/mysql/<br />
/var/run/mysqld/<br />
/usr/local/mysql/data/<br />
Meist hat die Datei den Suffix (die Erweiterung) &#8220;.pid&#8221; und fängt mit &#8220;mysqld&#8221; oder Ihrem Hostnamen des Computers an.<br />
Alternativ können Sie auch folgenden Befehl eingeben und in der dann ausgegebenen Liste die Datei suchen:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">find / -name *mysql*.pid</pre></div></div>

</li>
<li>Beenden Sie den mySQL Server durch einen normalen &#8220;kill&#8221;-Befehl (nicht &#8220;kill -9&#8243;).<br />
Übergeben Sie dabei den vollständigen Dateinamen der .pid-Datei:</p>

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">kill `cat /pfad/zur/datei.pid`</pre></div></div>

<p>Achten Sie bei der Eingabe bitte auf die sog. &#8220;Backticks&#8221; (Shift + `) anstelle der gewohnten Anführungszeichen um den &#8220;cat&#8221;-Befehl. Diese Zeichen sorgen dafür, dass die Ausgabe des Unterbefehles &#8220;cat /pfad/zur/datei.pid&#8221; automatisch in den &#8220;kill&#8221;-Befehl eingesetzt wird.</li>
<li>Nun legen Sie eine neue Textdatei an. Schreiben Sie folgenden Befehl in einer einzigen Zeile hinein:

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SET</span> PASSWORD <span style="color: #993333; font-weight: bold;">FOR</span> <span style="color: #ff0000;">'root'</span>@<span style="color: #ff0000;">'localhost'</span> <span style="color: #66cc66;">=</span> PASSWORD<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NeuesPasswort'</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Speichern Sie diese neue Datei ab und merken Sie sich den Dateinamen. Für dieses Beispiel haben wir die Datei &#8220;~/mysql-reset&#8221; genannt. Durch die Tilde (~) wird diese Datei in Ihrem Home-Verzeichnis abgelegt.</li>
<li>Jetzt starten Sie Ihren mySQL Server mit der Option &#8220;&#8211;init-file=~/mysql-reset&#8221; neu:

<div class="wp_syntax"><div class="code"><pre class="linux" style="font-family:monospace;">mysqld_safe --init-file=~/mysql-reset</pre></div></div>

<p>Durch diesen Befehl wird der Inhalt der gerade erstellten Datei beim Start des mySQL Servers ausgeführt und ändert automatisch das Root-Passwort.<br />
Nachdem der Server hochgefahren ist, sollten Sie die Datei &#8220;~/mysql-reset&#8221; löschen.</li>
<li>Ihr neues root-Passwort sollte nun funktionieren</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/07/mysql-vergessenes-root-passwort-zurucksetzen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mySQL: Update if exists else insert record (SQL statement)</title>
		<link>http://www.yourhelpcenter.de/2010/03/mysql-update-if-exists-else-insert-record-sql-statement/</link>
		<comments>http://www.yourhelpcenter.de/2010/03/mysql-update-if-exists-else-insert-record-sql-statement/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 12:46:23 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[automatically]]></category>
		<category><![CDATA[automatisch]]></category>
		<category><![CDATA[datarecord]]></category>
		<category><![CDATA[datatable]]></category>
		<category><![CDATA[entsprechend]]></category>
		<category><![CDATA[Fields]]></category>
		<category><![CDATA[if exists update]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[PK]]></category>
		<category><![CDATA[PKey]]></category>
		<category><![CDATA[Primary keys]]></category>
		<category><![CDATA[records]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[statement]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[update if exists]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=891</guid>
		<description><![CDATA[Wenn Sie einen Datensatz in eine Datenbanktabelle einfügen möchten (wenn er noch nicht existiert) oder diesen updaten möchten (wenn er existiert), hilft dieser SQL Befehl: 1 INSERT INTO TABLE &#40;FIELDS&#41; VALUES &#40;VALUES&#41; ON DUPLICATE KEY UPDATE FIELD = value Dieses Statement prüft, ob der Primary Key (PK) für den einzufügenden Datensatz bereits besteht, nutzt dann [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn Sie einen Datensatz in eine Datenbanktabelle einfügen möchten (wenn er noch nicht existiert) oder diesen updaten möchten (wenn er existiert), hilft dieser SQL Befehl:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">FIELDS</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUES</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">ON</span> DUPLICATE <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> <span style="color: #993333; font-weight: bold;">FIELD</span> <span style="color: #66cc66;">=</span> value</pre></td></tr></table></div>

<p>Dieses Statement prüft, ob der Primary Key (PK) für den einzufügenden Datensatz bereits besteht, nutzt dann ein Update Befehl und ansonsten Ihren angegeben Insert Befehl.</p>
<p><strong>Beispiel</strong></p>
<p>Wir haben eine Tabelle &#8220;Test&#8221; mit den Feldern &#8220;A&#8221;, &#8220;B&#8221; (je vom Typ varchar) und &#8220;C&#8221; (integer). Die Felder &#8220;A&#8221; und &#8220;B&#8221; sind unser PK.</p>
<p>Ein normales SQL Insert Statement in die leere Tabelle:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> Test <span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">,</span>C<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Testtext A1'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'Texttext B1'</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">110</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> Test <span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">,</span>C<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Testtext A2'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'Texttext B2'</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">250</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Danach stehen folgende Daten in der Tabelle &#8220;Test&#8221;:</p>
<table border="1">
<tbody>
<tr>
<td><strong>A</strong></td>
<td><strong>B</strong></td>
<td><strong>C</strong></td>
</tr>
<tr>
<td>Testtext A1</td>
<td>Texttext B1</td>
<td>110</td>
</tr>
<tr>
<td>Testtext A2</td>
<td>Texttext B2</td>
<td>250</td>
</tr>
</tbody>
</table>
<p>Nun möchten wir einen weiteren Datensatz einfügen. Werden unter dem PK Daten gefunden, sollen diese überschrieben (aktualisiert) werden &#8211; ansonsten wird der Datensatz normal eingefügt:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> Test <span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">,</span>C<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Testtext A2'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'Texttext B2'</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">285</span><span style="color: #66cc66;">&#41;</span> 
    <span style="color: #993333; font-weight: bold;">ON</span> DUPLICATE <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">285</span>;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> Test <span style="color: #66cc66;">&#40;</span>A<span style="color: #66cc66;">,</span>B<span style="color: #66cc66;">,</span>C<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Testtext A3'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'Texttext B3'</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">310</span><span style="color: #66cc66;">&#41;</span> 
    <span style="color: #993333; font-weight: bold;">ON</span> DUPLICATE <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #993333; font-weight: bold;">UPDATE</span> C <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">310</span>;</pre></div></div>

<p>Jetzt sieht der Inhalt der Tabelle &#8220;Test&#8221; wie folgt aus:</p>
<table border="1">
<tbody>
<tr>
<td><strong>A</strong></td>
<td><strong>B</strong></td>
<td><strong>C</strong></td>
</tr>
<tr>
<td>Testtext A1</td>
<td>Texttext B1</td>
<td>110</td>
</tr>
<tr>
<td>Testtext A2</td>
<td>Texttext B2</td>
<td><strong><span style="color: #ff0000;">285</span></strong></td>
</tr>
<tr>
<td><strong><span style="color: #ff0000;">Testtext A3</span></strong></td>
<td><strong><span style="color: #ff0000;">Texttext B3</span></strong></td>
<td><strong><span style="color: #ff0000;">310</span></strong></td>
</tr>
</tbody>
</table>
<p>Die roten Texte sind im Gegensatz zur ersten Ansicht verändert.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 149px; width: 1px; height: 1px;">insert into Test (A,B,C) values (&#8216;Testtext A2&#8242;,&#8217;Texttext B2&#8242;, 285) ON DUPLICATE KEY UPDATE C = 28</div>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2010/03/mysql-update-if-exists-else-insert-record-sql-statement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mySQL: Doppelte IDs auflisten / Doppelte Einträge finden</title>
		<link>http://www.yourhelpcenter.de/2009/11/mysql-doppelte-ids-auflisten-doppelte-eintrage-finden/</link>
		<comments>http://www.yourhelpcenter.de/2009/11/mysql-doppelte-ids-auflisten-doppelte-eintrage-finden/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 09:32:14 +0000</pubDate>
		<dc:creator>Jockel</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[duplicate]]></category>
		<category><![CDATA[Duplikate]]></category>
		<category><![CDATA[DUPs]]></category>
		<category><![CDATA[Fields]]></category>
		<category><![CDATA[IDs]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=718</guid>
		<description><![CDATA[Um in mySQL doppelte Einträge (Feldinhalte) aufzulisten, hilft Ihnen das folgende SQL Statement: SELECT id FROM muster m WHERE ( SELECT count(*) FROM muster WHERE id = m.id ) >1 In diesem Beispiel werden alle IDs aus der Tabelle &#8220;muster&#8221; aufgelistet, die doppelt vorhanden sind. Wenn Sie Ihre eigene Tabelle eintragen, achten Sie bitte darauf, [...]]]></description>
			<content:encoded><![CDATA[<p>Um in mySQL doppelte Einträge (Feldinhalte) aufzulisten, hilft Ihnen das folgende SQL Statement:</p>
<p><code>SELECT id FROM muster m WHERE (<br />
  SELECT count(*) FROM muster WHERE id = m.id<br />
) >1</code></p>
<p>In diesem Beispiel werden alle IDs aus der Tabelle &#8220;muster&#8221; aufgelistet, die doppelt vorhanden sind.</p>
<p>Wenn Sie Ihre eigene Tabelle eintragen, achten Sie bitte darauf, <em>beide</em> Namen anzupassen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/11/mysql-doppelte-ids-auflisten-doppelte-eintrage-finden/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mySQL: Zeilen aus verbundenen Tabellen löschen</title>
		<link>http://www.yourhelpcenter.de/2009/08/mysql-zeilen-aus-verbundenen-tabellen-loschen/</link>
		<comments>http://www.yourhelpcenter.de/2009/08/mysql-zeilen-aus-verbundenen-tabellen-loschen/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 05:00:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Anweisungen]]></category>
		<category><![CDATA[DEL]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[join]]></category>
		<category><![CDATA[linked]]></category>
		<category><![CDATA[löschen]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Tabellen]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[verbundene]]></category>
		<category><![CDATA[verknüpfte]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=437</guid>
		<description><![CDATA[Um Daten (Zeilen) aus Tabellen effektiv zu löschen, dürfen Sie die 1 MB Grenze (Standardwert der Systemvariablen max_allowed_packet) nicht überschreiten. Bei komplexen DELETE Anweisungen ist das aber schnell der Fall. Die Lösung ist dann nur die Zerlegeung der DELETE Statements in kleinere Protionen (notfalls Einzelanweidungen). Am schnellsten läuft ein DELETE Befehl, wenn nur 100 bis [...]]]></description>
			<content:encoded><![CDATA[<p>Um Daten (Zeilen) aus Tabellen effektiv zu löschen, dürfen Sie die 1 MB Grenze (Standardwert der Systemvariablen max_allowed_packet) nicht überschreiten.<br />
Bei komplexen DELETE Anweisungen ist das aber schnell der Fall.</p>
<p>Die Lösung ist dann nur die Zerlegeung der DELETE Statements in kleinere Protionen (notfalls Einzelanweidungen).<br />
Am schnellsten läuft ein DELETE Befehl, wenn nur 100 bis 1000 related_column-Werte pro (indizierter) Anweisung anstehen.</p>
<p>Hat die &#8220;related_column&#8221; (Feld für die Verbindung der Tabellen) keinen Index, ist die Geschwindigkeit von der Anzahl der Argumente der IN-Klausel unabhängig.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/08/mysql-zeilen-aus-verbundenen-tabellen-loschen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sicherheit: MD5 Hash decodieren / entschlüsseln (16 stelligen Hash)</title>
		<link>http://www.yourhelpcenter.de/2009/07/sicherheit-md5-hash-decodieren-cracken-16-stelligen-hash/</link>
		<comments>http://www.yourhelpcenter.de/2009/07/sicherheit-md5-hash-decodieren-cracken-16-stelligen-hash/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:59:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Anleitungen]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[berechnen]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[crack]]></category>
		<category><![CDATA[decodieren]]></category>
		<category><![CDATA[entschlüsseln]]></category>
		<category><![CDATA[knacken]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[passwort]]></category>
		<category><![CDATA[rückrechnen]]></category>
		<category><![CDATA[verschlüsseln]]></category>
		<category><![CDATA[zurück]]></category>

		<guid isPermaLink="false">http://www.yourhelpcenter.de/?p=433</guid>
		<description><![CDATA[Der folgende C Source kann ggf. Ihnen helfen, vergessene MD5 Passwörter (nur 16-stelligen Hash) wieder zu erhalten. Dabei werden nur Passwörter mit bis zu 8 Zeichen berechnet. Außerdem können nicht alle Sonderzeichen berücksichtigt werden. Von Decodieren bzw. Entschlüsseln kann aufgrund der angewendeten Methoden nicht geredet werden. Das genannte MD5 Verfahren hat mathematische Lücken und wurde [...]]]></description>
			<content:encoded><![CDATA[<p>Der folgende C Source kann ggf. Ihnen helfen, vergessene MD5 Passwörter (nur 16-stelligen Hash) wieder zu erhalten. Dabei werden nur Passwörter mit bis zu 8 Zeichen berechnet. Außerdem können nicht alle Sonderzeichen berücksichtigt werden. Von Decodieren bzw. Entschlüsseln kann aufgrund der angewendeten Methoden nicht geredet werden. Das genannte MD5 Verfahren hat mathematische Lücken und wurde daher bereits ab mySQL Version 4.1 durch den stärken und (bislang sicheren) MD5/32 Hash abgelöst.</p>
<p><strong>Hinweis:</strong><br />
Den Sourcecode nutzen Sie vollständig auf eigene Gefahr und Verantwortung. Bitte prüfen Sie vorher, ob Sie berechtigt sind, den MD5 Hash zu berechnen. Sollten Sie Zweifel haben, nutzen Sie die Methoden nicht !</p>
<p>Um Ihnen nicht den vollständigen Source zu liefern (und jedem Hobby-Passwort-Analysten die Berechnung zu erlauben) haben wir die wichtigen Bitverschiebungen im Source durch Smileys ersetzt. Für erfahrene Entwickler wird das Herausfinden und Ersetzen der entsprechenden Sourcecode-Positionen kein Problem darstellen. Zusätzlich bleibt der Source äußerst karg kommentiert.</p>
<pre>// Tools zur Decodierung von 16stelligen MD5 Hashes
// Verwendet von mySQL OLD_PASSWORT() etc.

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

#define xor ^

void search3_new( );
void search4_new( );
void search5_new( );
void search6_new( );
void search7_new( );
void search8_new( );
void get_old_nr2( );
void init_password( );
void found_footprint( );

int search_extension(unsigned long nrd, unsigned long nr2d, unsigned long add1d);
char footprint_str[32];
int len3=0, len4=0, len5=0, len6=0, len7=0, len8=0, len9=0, len10=0, lenall=1;

unsigned char char1, char2, char3, char4, char5, char6, char7, char8, char9, char10;
unsigned char extension_char1, extension_char2, extension_char3;
unsigned long nr2_g2_expected1_genuine;
unsigned long nr2_g2_expected2_genuine;
unsigned long nr2_g3;
unsigned long nr2_g3plus;
unsigned long nr2_expected;
unsigned long footprint1;
unsigned long footprint2;

int hexdigit_value(char c) {
  if (c >= '0' &#038;&#038; c <= '9' ) return c - '0';
  if (c >= 'a' &#038;&#038; c <= 'f' ) return c - 'a' + 10;
  if (c >= 'A' &#038;&#038; c <= 'F' ) return c - 'A' + 10;  

  printf("Fehler: '%c' ist kein Hex-Wert\r\n", c);
  exit(0);
  return 0;
}

int main(int argc, char **argv) {
  int p;

  if (argc!=2 || (argc >= 2 &#038;&#038; strcmp(argv[1], "--help") == 0)) {
    printf("Syntax  : %s [MD5 Hash]\r\n", argv[0] );
    printf("Beispiel: %s 565491d704013245 (liefert das Passwort \"123456\")\r\n", argv[0]);
    exit(0);
  }

  char * args = argv[1];

  if (strlen(args) != 16 ) {
        printf("Fehler: '%s' ist kein MD5 Hash (16 Hex-Zeichen)\r\n", args);
        exit(1);
  }

   // Hash holen
  strcpy(footprint_str, args);
  unsigned long f1=0, f2=0;

  int q;
  for (q = 0; q < 8; q++) {
    f1 = (f1 << 4) + hexdigit_value(args[q]);
    f2 = (f2 << 4) + hexdigit_value(args[q+8]);
  }

  footprint1 = f1;
  footprint2 = f2;

  // Initialisierungen
  get_old_nr2();
  init_password();

  // Suche
  search3_new();
  search4_new();
  search5_new();
  search6_new();
  search7_new();
  search8_new();
  printf("Das Passwort hat wohl mehr als 8 Zeichen ...\r\n");

  return(0);
}

void init_password(  ) {
  char1  = 0;
  char2  = 0;
  char3  = 0;
  char4  = 0;
  char5  = 0;
  char6  = 0;
  char7  = 0;
  char8  = 0;
  char9  = 0;
  char10 = 0;
}

void get_old_nr2() {
  unsigned long old_nr2_value;
  int old_nr2[8] ;
  int new_nr2[8] ;
  int new_nr[8];
  int carry[8] ;
  int p;

  for (p = 0; p < 8; p++) {
    old_nr2[p] = 0;
    new_nr2[p] = 0;
    new_nr[p]  = 0;
    carry[p]   = 0;
  }

  new_nr[1] = footprint1 &#038; 255;
  new_nr[2] = (footprint1 >>  8 ) &#038; 255;
  new_nr[3] = (footprint1 >> 16 ) &#038; 255;
  new_nr[4] = (footprint1 >> 24 ) &#038; 255;

  new_nr2[1] = footprint2 &#038; 255;
  new_nr2[2] = (footprint2 >>  8 ) &#038; 255;
  new_nr2[3] = (footprint2 >> 16 ) &#038; 255;
  new_nr2[4] = (footprint2 >> 24 ) &#038; 255;

  for (p=1; p<=4; p++) {
    unsigned long tmp;
    tmp = old_nr2[p-1] ^ new_nr[p];
    old_nr2[p] = new_nr2[p] - carry[p] - tmp;

    if (old_nr2[p] < 0 ) {
      carry[p+1]  = 1;
      old_nr2[p] += 256;
    }
  }

  old_nr2_value = (old_nr2[1] | (old_nr2[2] << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> |
                  (old_nr2[3] << 16) | (old_nr2[4] << 24) ) &#038; 0x7FFFFFFF;

  nr2_g2_expected1_genuine = old_nr2_value &#038; 0x7FF00000;
  nr2_g2_expected2_genuine = (old_nr2_value - 0x100000) &#038; 0x7FF00000;
  nr2_expected = old_nr2_value;
  nr2_g3 = nr2_g2_expected1_genuine &#038; 0x70000000;
  nr2_g3plus = (nr2_g2_expected1_genuine + 0x10000000) &#038; 0x70000000;
}

void found_footprint() {
  char password[256], *ps;
  int p;
  ps = password;

  if (char1) *ps++ = char1;
  if (char2) *ps++ = char2;
  if (char3) *ps++ = char3;
  if (char4) *ps++ = char4;
  if (char5) *ps++ = char5;
  if (char6) *ps++ = char6;
  if (char7) *ps++ = char7;

  *ps++ = extension_char1;
  *ps++ = extension_char2;
  *ps++ = extension_char3;
  *ps   = 0;

  // Gefundenes Passwort anzeigen
  printf("%s = %s\r\n", footprint_str, password);
  exit(0);
}

void search3_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;
  if (search_extension(nr, nr2, add))
    return;
}

void search4_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++) {
    nr  = 1345345333L;
    add = 7;
    nr2 = 0x12345671L;
    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
    add += char1;

    if (search_extension(nr, nr2, add))
        return;
  }
}

void search5_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++)
    for (char2 = 33; char2 < 127; char2++) {
      nr  = 1345345333L;
      add = 7;
      nr2 = 0x12345671L;

      nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
      nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
      add += char1;

      nr  ^= (((nr &#038; 63) + add) * (unsigned long)char2) + (nr << 8);
      nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
      add += char2;

      if (search_extension(nr, nr2, add))
          return;
  }
}

void search6_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++)
    for (char2 = 33; char2 < 127; char2++)
        for (char3 = 33; char3 < 127; char3++) {
          nr  = 1345345333L;
          add = 7;
          nr2 = 0x12345671L;

          nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
          nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
          add += char1;

          nr  ^= (((nr &#038; 63) + add) * (unsigned long)char2) + (nr << 8);
          nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
          add += char2;

          nr  ^= (((nr &#038; 63) + add) * (unsigned long)char3) + (nr << 8);
          nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
          add += char3;

          if (search_extension(nr, nr2, add)) return;
  }
}

void search7_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++)
    for (char2 = 33; char2 < 127; char2++)
        for (char3 = 33; char3 < 127; char3++)
          for (char4 = 33; char4 < 127; char4++) {
               nr  = 1345345333L;
          add = 7;
          nr2 = 0x12345671L;

              nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
              nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
              add += char1;

              nr  ^= (((nr &#038; 63) + add) * (unsigned long)char2) + (nr << 8);
              nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
              add += char2;

              nr  ^= (((nr &#038; 63) + add) * (unsigned long)char3) + (nr << 8);
              nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
              add += char3;

              nr  ^= (((nr &#038; 63) + add) * (unsigned long)char4) + (nr << 8);
              nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
              add += char4;

              if (search_extension(nr, nr2, add)) return;
  }
}

void search8_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++)
    for (char2 = 33; char2 < 127; char2++)
        for (char3 = 33; char3 < 127; char3++)
          for (char4 = 33; char4 < 127; char4++)
              for (char5 = 33; char5 < 127; char5++) {
                nr  = 1345345333L;
                add = 7;
                nr2 = 0x12345671L;

                nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
                nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                add += char1;

                nr  ^= (((nr &#038; 63) + add) * (unsigned long)char2) + (nr << 8);
                nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                add += char2;

                nr  ^= (((nr &#038; 63) + add) * (unsigned long)char3) + (nr << 8);
                nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                add += char3;

                nr  ^= (((nr &#038; 63) + add) * (unsigned long)char4) + (nr << 8);
                nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                add += char4;

                nr  ^= (((nr &#038; 63) + add) * (unsigned long)char5) + (nr << 8);
                nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                add += char5;

                if (search_extension(nr, nr2, add)) return;
  }
}

void search9_new() {
  unsigned long nr = 1345345333L, add = 7, nr2 = 0x12345671L;

  for (char1 = 33; char1 < 127; char1++)
    for (char2 = 33; char2 < 127; char2++)
        for (char3 = 33; char3 < 127; char3++)
          for (char4 = 33; char4 < 127; char4++)
              for (char5 = 33; char5 < 127; char5++)
                for (char6 = 33; char6 < 127; char6++) {
                    nr  = 1345345333L;
                    add = 7;
                    nr2 = 0x12345671L;

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char1) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char1;

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char2) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char2;

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char3) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char3; 

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char4) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char4;

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char5) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char5;

                    nr  ^= (((nr &#038; 63) + add) * (unsigned long)char6) + (nr << 8);
                    nr2 += (nr2 << <img src='http://www.yourhelpcenter.de/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> ^ nr;
                    add += char6;

                    if (search_extension(nr, nr2, add)) return;
  }
}

int search_extension(unsigned long nrd, unsigned long nr2d, unsigned long add1d) {
  unsigned long nre, nrf, nrg;
  unsigned long nr2e, nr2f, nr2g;
  unsigned long add1e, add1f, add1g;
  unsigned long constant1e, constant3e, variable1e;
  unsigned long constant1f, constant3f, variable1f;
  unsigned long constant1g, constant3g, variable1g;
  unsigned long nrdisc1, nrdisc2, nr2disc1, nr2disc2;
  unsigned long nr12;
  unsigned long delta1, delta2, delta3, delta4;
  unsigned long dividende1 , dividende2;

  constant1e = (nrd &#038; 63) + add1d;
  constant3e = nr2d << 8;
  variable1e = (constant1e << 5) + (nrd << 8);

  nrdisc1  = nrd xor variable1e;
  nrdisc2  = nrdisc1 + 0x100000;
  nr2disc1 = nr2d + (constant3e xor nrdisc1);
  nr2disc2 = nr2d + (constant3e xor nrdisc2);
  nr12   = nrdisc1 << 8;

  delta1 = nrdisc1 xor (nr2disc1 << 8);
  delta2 = ((delta1 xor (nr12 + 0x10000000)) + nr2disc1) &#038; 0x70000000;
  delta1 = ((delta1 xor nr12) + nr2disc1) &#038; 0x70000000;

  nr12   = nrdisc2 << 8;
  delta3 = nrdisc2 xor (nr2disc2 << 8);
  delta4 = ((delta3 xor (nr12 + 0x10000000)) + nr2disc2) &#038; 0x70000000;
  delta3 = ((delta3 xor nr12) + nr2disc2) &#038; 0x70000000;

  if (delta1 == nr2_g3 || delta2 == nr2_g3 || delta3 == nr2_g3 || delta4 == nr2_g3 ||
      delta1 == nr2_g3plus || delta2 == nr2_g3plus || delta3 == nr2_g3plus ||
      delta4 == nr2_g3plus)

    for (extension_char1 = 33; extension_char1 <= 126; extension_char1++) {
      variable1e = variable1e + constant1e;
      nre = nrd xor variable1e;
      nr2e = nr2d + (constant3e xor nre);

      nr12   = nre << 8;
      delta1 = nre xor (nr2e << 8);
      delta2 = ((delta1 xor (nr12 + 0x100000)) + nr2e) &#038; 0x7FF00000;
      delta1 = ((delta1 xor nr12) + nr2e) &#038; 0x7FF00000;

      if (delta1 == nr2_g2_expected1_genuine || delta1==nr2_g2_expected2_genuine ||
          delta2 == nr2_g2_expected1_genuine || delta2==nr2_g2_expected2_genuine ) {

      add1e = add1d + extension_char1;

      constant1f = (nre &#038; 63) + add1e;
      constant3f = nr2e << 8;
      variable1f = (constant1f << 5 ) + (nre << 8);

      for (extension_char2 = 33; extension_char2 <= 126; extension_char2++) {
        variable1f = variable1f + constant1f;
        nrf = nre xor variable1f;
        nr2f = nr2e + (constant3f xor nrf);            

        if ((nr2f &#038; 0x7FFFFFFF) == nr2_expected) {
          add1f      = add1e + extension_char2;
          constant1g = (nrf &#038; 63) + add1f;
          constant3g = nr2f << 8;
          variable1g = (constant1g << 5 ) + (nrf << 8);

          for (extension_char3 = 33; extension_char3 <= 126; extension_char3++) {
            variable1g = variable1g + constant1g;
            nrg = nrf xor variable1g;
            nr2g = nr2f + (constant3g xor nrg);

            if ((nrg &#038; 0x7FFFFFFF) == footprint1 &#038;&#038; (nr2g &#038; 0x7FFFFFFF) == footprint2) {
              found_footprint();
              return(1);
            }
          }
        }
      }
    }
  }

  return(0);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.yourhelpcenter.de/2009/07/sicherheit-md5-hash-decodieren-cracken-16-stelligen-hash/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
