Anleitungen
« Vorherige Beiträge Nächste Beiträge »Oracle: SQL Statements optimieren
Freitag, 16.07.2010Mit der Hilfe des folgenden Oracle SQL Befehles können Sie für alle SQL Befehle im SQL Cache herausfinden, wie häufig diese ausgeführt wurden und wieviele Blockzugriffe für die Verarbeitung notwenig waren.
SELECT to_char(executions,'999G999G990') "executions", to_char(buffer_gets,'999G999G990') "gets", to_char(buffer_gets/greatest(nvl(executions,1),1),'999G999G990') "gets je exec", to_char(round(100*(1-(disk_reads/greatest(nvl(buffer_gets,1),1))),2),'990D00') Trefferquote, sql_text FROM v$sql WHERE buffer_gets > 1000 ORDER BY buffer_gets DESC;
Zusätzlich wird Ihnen die “Trefferquote” des jeweiligen Befehls im Datencache angezeigt.
Durch diese Abfrage können Sie sehr schnell schlecht optimierte SQL-Befehle herausfinden.
Eine Trefferquote < 70% deutet meist darauf hin, dass in dem Fall eine Tabelle komplett ohne Index-Zugriffe gelesen wurde. Zur Optimierung sollten Sie dann einen weiteren (oder überhaupt einen) Index hinzuzufügen. Der Befehl kann danach die Daten schneller lesen.
Diese Statistik zeigt nur die Befehle, welche sich aktuell im SQL-Cache befinden. Um ein umfassendes Bild der auffälligen SQL Befehle zu erhalten sollten Sie den o.a. SQL Befehl also mehrfach täglich ausführen. Das Intervall hängt dabei stark von der Nutzung Ihrer Oracle Datenbank ab. Auch ein Aufruf zu unterschiedlichen Zeiten gibt aufschlußreiche Informationen an Sie weiter.
Die Einschränkung “buffer_gets > 1000″ hilft, die Ergebnismenge zu reduzieren. Durch diese Auswahl werden nur die relevanten Befehle angezeigt. Natürlich können Sie auch diesen Parameter frei anpassen.
mySQL: Aktuell angemeldeten Benutzer anzeigen
Donnerstag, 15.07.2010Um innerhalb eines mySQL Befehles den aktuell angemeldeten Benutzer zu erhalten, nutzen Sie einfach die Funktion “current_user()”. Das folgende, einfache Beispiel zeigt die Anwendung:
SELECT CURRENT_USER();
Gleichzeitig wird der Hostname ausgegeben.
Ergebnis (Beispiel):
test@localhost
Eine weitere Funktion ist “user()”. 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 “current_user()” unterscheiden.
SELECT USER();
Um aus der Funktion “user()” nur den aktuellen Benutzernamen zu erhalten, nutzen Sie folgenden SQL Befehl:
SELECT SUBSTRING_INDEX(USER(),'@',1);
Windows: Netzwerkbrücke lässt sich nicht löschen
Mittwoch, 14.07.2010Wenn sich eine Netzwerkbrücke aus Ihren Verbindungen nicht mehr löschen lassen möchte, verhilft Ihnen dieser Artikel evtl. zur Lösung.
Eine Netzwerkbrücke entsteht durch das manuelle Überbrücken zweier vorhandener Netzwerkkarten auf Ihrem Computer.
Sollte beim Löschen einer Netzwerkbrücke die Fehlermeldung
Ein unerwarteter Fehler ist beim Konfigurieren der Netzwerkbrücke aufgetreten
auftreten und Sie keine Möglichkeit mehr für Einstellungen haben, folgen Sie der kurzen Anleitung:
- Öffnen Sie den Geräte Manager
- Suchen Sie die gewünschte Netzwerkbrücke (MAC-Brückenimport)
Wichtig: Nicht die Netzwerkkarte ! - Löschen (nicht deaktivieren) Sie die Netzwerkbrücke
Windows: Bootfähige DVD kopieren (ISO Image erstellen)
Mittwoch, 14.07.2010Wenn Sie ein Backup von Ihrer Windows7 DVD machen möchten, hilft Ihnen diese Anleitung.
Hinweis:
Nach § 53 Urhebergesetz dürfen Sie nur privat und ausschließlich zum eigenen privaten Gebrauch von Ihrer originalen Microsoft Windows 7 DVD eine Kopie anfertigen. Diese darf dann ausschließlich von Ihnen genutzt und sollte wie die originale DVD behandelt werden. Eine Kopie darf ausschließlich zur Sicherung der Funktionsfähigkeit der Original-DVD nutzen. In einem richtungsweisenden Urteil (BGH GRUR 1978, 474, 476) hat der BGH entschieden, dass für den privaten Gebrauch max. 7 Kopien angefertigt werden können.
Diese Auskunft ist nicht verbindlich. Bitte informieren Sie sich vor der Anfertigung einer Kopie über die für Sie geltenden Bestimmungen und die aktuelle Rechtslage.
Mit diesem Artikel soll keine Möglichkeit dokumentiert werden, einen technischen Schutz gegen das Kopieren zu umgehen (§95a Abs 1 Urhebergesetz). Es werden normale Kopier- und Brennoptionen unter Windows genutzt. Sollte das Kopieren oder Brennen fehlschlagen oder sollten Kopierschutzmaßnahmen die Möglichkeit des Kopierens behindern, ist der Vorgang abzubrechen.
Für die meisten Schritte benötigen Sie Administrationsrechte auf Ihrem Computer.
- Legen Sie auf Ihrer Festplatte ein Verzeichnis an.
In diesem Beispiel “C:\tmp\dvd” - Kopieren Sie alle Dateien und Verzeichnisse Ihrer Win7 DVD in das neue Verzeichnis
- Öffnen Sie jetzt die Kommandozeile
- Windowstaste + R
- Geben Sie “cmd” ein klicken Sie auf “OK”
- Nun geben Sie folgenden Befehl ein:
(Hinweis: Vor dem Text “WIN_EN_DVD” steht ein kleines “L” – kein Strich)oscdimg.exe -bC:\tmp\dvd\boot\etfsboot.com -u2 -h -m -lWIN_EN_DVD C:\tmp\dvd\ C:\tmp\dvd.iso
- Das ISO Image finden Sie anschließend unter “C:\tmp\dvd.iso”
Das benötigte Programm “oscdimg.exe” wird von Microsoft angeboten.
Weitere Optionen und Informationen zu “oscdimg.exe” erhalten sie bei Microsoft:
http://technet.microsoft.com/en-us/library/cc749036%28WS.10%29.aspx
SQLite: Datenbank erstellen, Tabellen erstellen, Daten einfügen & Daten abfragen
Dienstag, 13.07.2010Um eine kurze Einführung in die SQLite Datenbank zu bekommen, hilft Ihnen folgendes PHP-Script:
Das Beispiel zeigt Ihnen, wie Sie zuerst eine Datenbankverbindung aufbauen (dadurch automatisch auch die Datenbankdatei erstellen) und anschließend zwei Tabellen erstellen. Danach wird jeweils ein Datensatz in eine Tabelle eingefügt und im letzten Schritt wieder zusammen ausgelesen (joind).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php // Datenbank anlegen (Dateiname: "test.dat") $db = sqlite_open("test.dat", 0660, $error); // Die Tabellen anlegen: "kunde" und "domain" sqlite_query($db, 'CREATE TABLE kunde (id integer PRIMARY KEY, code varchar(10))'); sqlite_query($db, 'CREATE TABLE domain (id integer, kunde integer, name varchar(10))'); // Datensätze einfügen sqlite_query($db, "INSERT INTO kunde (code) VALUES ('fnord')"); sqlite_query($db, "INSERT INTO domain (id,kunde,name) VALUES (1, 1, 'www.webseite.de')"); // Daten verbinden und abfragen $res = sqlite_query($db, 'select * from kunde k left join domain d on d.kunde = k.id'); $res = sqlite_fetch_all($res, SQLITE_ASSOC); // Ergebnis anzeigen print_r($res); ?> |
In unserem Beispiel hat die Datenbank den Dateinamen “test.dat”. In der Wahl des Dateinamens sind Sie nur an die Restriktionen Ihres Betriebssystems gebunden. Häufig wird jedoch auch der Suffix “.sqlite” genutzt. (Suffix = Dateiendung)
Um die auf Ihrem System aktuell genutzte Version von SQLite auszulesen, nutzen Sie folgenden Befehl:
echo sqlite_libversion();
Wenn Sie die derzeit eingestellte Codierung herausfinden möchten:
echo sqlite_libencoding();
WordPress: “Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen”
Dienstag, 13.07.2010Nach dem Kopieren oder Update Ihrer WordPress (WP) Installation erhalten Sie eine der beiden folgenden Meldungen nach der Anmeldung im Backend (wp-admin):
Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen. Sie haben nicht ausreichend Rechte, um auf diese Seite zuzugreifen.
Diese Fehlermeldung zeigt an, dass das WP Backend (Adminbereich) Ihre Anmeldung nicht richtig zuordnen kann. Die Gründe für diese Sperre können vielfältig sein. In der folgenden Übersicht möchten wir Ihnen die Lösung für die häufigsten Sperren zeigen:
- Sie haben ein Upgrade / Update von WordPress gemacht
Versuchen Sie, Ihre Datenbank durch das “force-upgrade.php” Script zu aktualisieren. Dafür wird die Datei einfach in das Hauptverzeichnis Ihres Webservers kopiert und dann per Browser aufgerufen. Anschließend sollte die Datei dringend wieder gelöscht werden – nur dann kann niemand anderes ebenfalls diese Aktion ausführen. Dieser Schritt sollte fast alle vorhandenen Datenbankprobleme beseitigen. Zudem ist diese Methode wesentlich effizienter und sicherer als das manuelle Zurücksetzen der Versionsnummer / Versionsinformationen in der Datenbank.
- Sie haben die Datei “wp-config.php” verändert
Überprüfen Sie, ob die Zeile
require_once(ABSPATH . 'wp-settings.php');
ganz unten steht. Wichtig ist auch, dass die Information
define('SECRET_KEY', 'xyz...abc');
(logischerweise) oberhalb der Zeile stehen.
- Sie haben den Tabellen-Prefix geändert
Es ist nicht ausreichend, die Datei “wp-config.php” anzupassen und in der Datenbank den Tabellenprefix zu ändern. In der WordPress-Datenbank sind Datensätze gespeichert, welche den alten (originalen) Tabellenpräfix darstellen. Diese Einträge müssen also ebenfalls abgepasst werden. Bei normalen Installationen von WordPress sind die folgenden Befehle für die Tabellen “wp_options” und “wp_usermeta” ausreichend:
1 2 | UPDATE neuesPrefix_options SET option_name = REPLACE(option_name, 'altesPrefix_', 'neuesPrefix_'); UPDATE neuesPrefix_usermeta SET meta_key = REPLACE(meta_key, 'altesPrefix_', 'neuesPrefix_'); |
Bei Standardinstallationen sollten keine weiteren Einträge zum Prefix vorhanden sein. Sollten Sie jedoch weitere Datensätze finden, ändern Sie diese entsprechend ab und schreiben Sie uns gerne einen Kommentar zu diesem Artikel. Wir werden Ihre Hilfe dann für die nächsten Besucher einarbeiten.
- Die Option “User Roles” wurde verändert (“prefix_user_roles”)
Sollte die Einstellung / Option “prefix_user_roles” verändert ist. Die Details dieser Option werden in einem sog. “serialisiertes Array” abgelegt. Dabei kann es scheinbar passieren, dass sich die einzelnen Informationen (Daten) so verändern, dass PHP das richtige Array mit den Einzeldaten nicht mehr richtig entschlüsseln kann. Dadurch hat Ihr WordPress dann natürlich keine Möglichkeit mehr, auf diese Einstellungen zuzugreifen. Die Folge ist, dass (sicherheitshalber) alle Benutzer ausgesperrt sind.
Sie können durch einen einfache PHP-Datei schnell prüfen, ob dieses Problem bei Ihnen zutrifft:
- Erstellen Sie in Ihrem Hauptverzeichniss (root) Ihres WebServers eine PHP Datei mit folgendem Inhalt (z.Bsp. “chk.php”):
1 2 3 4 5 6 7
<?php include("wp-config.php"); global $wpdb; $wp_user_roles = get_option($wpdb->prefix."user_roles") or die ("Die Option '".$wpdb->prefix."user_roles' ist defekt."); echo("Die Option '".$wpdb->prefix."user_roles' ist scheinbar in Ordnung."); ?>
- Rufen Sie die Datei in Ihrem Browser auf:
http://ihre.domain/chk.php
Das kurze PHP-Script prüft, ob die Option “user_roles” bei Ihrer WordPress richtig gelesen werden kann. Sollte dabei irgendein Problem auftreten (Sie erhalten die Anzeige “Die Option ‘xyz_user_roles’ ist defekt.”), sollten Sie sicherheitshalber die gesamte Option neu setzen. Zwar gehen Ihnen dadurch alte Einstellungen verloren und müssen dann neu gesetzt werden, aber solange Sie Ihre Benutzerberechtigungen nicht verändert haben, sollte es keine Probleme geben.
Sie können die einzelnen Werte entweder direkt durch phpMyAdmin setzen oder Sie nutzen das folgende Script:
1 2 3 4 5 6 | <?php $val = 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}'; include("wp-config.php"); global $wpdb; set_option($wpdb->prefix."user_roles", $val); ?> |
Den Wert noch einmal als reinen String (Zeichenkette) für die direkte phpMyAdmin Eingabe. Der folgende Text ist eine Zeile:
a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}
PIN ändern beim Nokia 5230
Dienstag, 13.07.2010Da es unter dem Nokia 5230 scheinbar keine Möglichkeit gibt um den PIN-Code direkt über die Oberfläche zu ändern müssen Sie folgenden Systembefehl nutzen (per Tastaturfeld eingeben).
**04*[AlterPIN]*[NeuerPIN]*[NeuerPIN]#
Ersetzen Sie dabei die Platzhalter “[AlterPIN]” bzw. “[NeuerPIN]” mit Ihren Werten.
PHP: Alter anhand des Geburtstags berechnen
Montag, 12.07.2010Mit der folgenden PHP-Funktion könnten Sie anhand des Geburtstags das aktuelle Alter in Jahren ermitteln.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * Ermittelt das aktuelle Alter anhand einess Datums * @param string $birthday Der Geburstag im Format YYYY-MM-DD * @param string $delimiter Trennzeichen * @return integer Das Alter in Jahren */ function getAgeFromBirthday($birthday, $delimiter = '-') { if (empty($birthday)) return false; $exp = explode($delimiter, $birthday); if (count($exp) != 3 || !checkdate((int)$exp[1], (int)$exp[2], (int)$exp[0])) return false; $age = (int)date("Y") - (int)$exp[0]; if ((int)$exp[1] > (int)date("m") || ((int)$exp[1] == (int)date("m") && (int)$exp[2] > (int)date("d"))) $age--; return $age; } |
Der Aufruf könnte z.B. so ausschauen:
1 | var_dump(getAgeFromBirthday('1995-06-08')); |
Latenz bei Online-Games unter Windows 7 verbessern
Montag, 12.07.2010Wer mit zu hohen Latenzen (Ping) bei Online-Games wie z.B. World of Warcraft zu kämpfen hat, sollte einmal die zwei folgenden Schritte ausführen:
Schritt 1 – Installation der MS Message Queue Server
- Start > Systemsteuerung > Progamme und Funktionen > Windows Funktionen aktivieren oder deaktivieren
- Nun bei den rot umrahmten Funktionen ein Häkchen setzen:

- Rechner komplett neu starten
Schritt 2 – Registry
- Windows-Taste + R drücken
- “regedit” eingeben und mit Enter bestätigen
- Zu folgendem Pfad navigieren:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces - Die folgenden kryptischen Ordner beinhalten alle Netzwerk-Interfaces des Rechners. Nun gilt es das korrekte Interface (Ordner) zu wählen. Dazu einmal in jeden Ordner wechseln und im rechten Fenster nach der IP-Adresse suchen welche die selbe des aktiven Netzwerkinterfaces (Netzwerkkarte) ist.
- In diesem Ordner auf der rechten Seite wird nun der neue DWORD-Eintrag (Rechtsklick > Neu > DWORD) “TcpAckFrequency” (unbedingt auf Groß- und Kleinschreibung achten!) erstellt
- Diesen nun per Rechtsklick > Ändern erneut aufrufen und unter “Wert” eine “1″ eintragen
- Rechner komplett neustarten
Nun sollte die Latenz deutlich geringer sein als es vorher der Fall war.
Achtung: Für evt. Schäden wird keine Haftung übernommen! Alle Änderungen geschehen auf eigene Gefahr!
mySQL: Vergessenes (root) Passwort zurücksetzen
Sonntag, 11.07.2010Wenn Sie Ihr mySQL Masterpasswort (das “root-Passwort”) 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 aktuelle root-Passwort noch kennen: mySQL: Root Passwort ändern.
Möglichkeit 1 (unsicherer als Methode 2 & 3)
Sie können das root Passwort auf jeder Plattform (Windows, Linux, …) auch mit der offiziellen Client-Software “mysql” einstellen:
- Stoppen Sie “mysqld” (mySQL Service / Dienst) und starten Sie ihn erneut. Dabei geben Sie als Option “–skip-grant-tables –user=root” mit. Als Windowsbenutzer lassen Sie bitte “–user=root” weg
mysqld --skip-grant-tables --user=root
- Nun verbinden Sie sich mit dem mySQL-Server (dem mysqld Service):
mysql -u root
- Geben Sie im mySQL-Client die folgende SQL Anweisungen ein:
1 2
UPDATE mysql.user SET Password=PASSWORD('NeuesPasswort') WHERE User='root'; FLUSH PRIVILEGES;
Ersetzen Sie im vorherigen Befehl bitte den Text “NeuesPasswort” 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.
- Ihr neues root-Passwort sollte nun funktionieren
Möglichkeit 2 (unter Windows)
- Melden Sie sich bitte als Administrator an Ihrem Computer an. Bei neu Windows-Versionen können Sie sich als Benutzer mit Administratorrechten anmelden.
- Sollte der mySQL Server laufen, stoppen Sie ihn bitte.
Wenn er als Windows-Dienst gestartet ist, benutzen Sie bitte den Microsoft Dienstmanager:Start > Systemsteuerung (ggf. auf Symbolansicht umstellen) > Verwaltung > Dienste
In der Liste der Dienste suchen Sie den “MySQL-Dienst”. Klicken Sie den Eintrag einmal an und anschließend auf das Stop-Symbol oberhalb der Liste.
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. - Erstellen Sie nun eine neue Textdatei und tragen Sie folgende Zeile (nur eine !) ein:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NeuesPasswort');
Speichern Sie diese Datei jetzt unter einem beliebigen Namen. Für dieses Beispiel benutzen wir den Namen “C:\mysql-reset.txt”.
- Starten/Öffnen Sie die Kommandozeile:
Start > Ausführen (oder Windowstaste + R) > cmd
- Starten Sie Ihren mySQL-Server neu und geben Sie ihm dabei Ihre gerade erstellte Datei mit an:
C:\mysql\bin\mysqld-nt --init-file=C:\mysql-reset.txt
Bei diesem Befehl wird davon aufgegangen, dass der mySQL Server auf Ihrem Computer unter “C:\mysql” installiert ist. Gerade auf neueren Windows-Versionen ist das nicht mehr allzu üblich und daher finden Sie den mySQL Server dort meistens unter “C:\Program Files (x86)\mysql\”. Dann lautet der Befehl:
"C:\Program Files (x86)\bin\mysqld-nt" --init-file=C:\mysql-reset.txt
Aufgrund der Leerzeichen im Pfad des Programmes muss der erste Befehlsteil in Anführungszeichen gesetzt werden!
Nutzen Sie den mySQL Server als Dienst, starten Sie bitte jetzt den Dienst wieder.
- Ihr neues root-Passwort sollte nun funktionieren. Vergessen Sie bitte nicht, die Datei “C:\mysql-reset.txt” zu löschen.
Möglichkeit 3 (unter Linux)
- Sie melden sich als root-Benutzer bzw. als derjenige Benutzer, unter dem der mysqld-Server läuft, auf Ihrem Linux (Unix) Computer an.
- Suchen Sie nun die .pid-Datei, welche die aktuelle Prozess-ID des mySQL-Servers enthält.
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
/var/lib/mysql/
/var/run/mysqld/
/usr/local/mysql/data/
Meist hat die Datei den Suffix (die Erweiterung) “.pid” und fängt mit “mysqld” oder Ihrem Hostnamen des Computers an.
Alternativ können Sie auch folgenden Befehl eingeben und in der dann ausgegebenen Liste die Datei suchen:find / -name *mysql*.pid
- Beenden Sie den mySQL Server durch einen normalen “kill”-Befehl (nicht “kill -9″).
Übergeben Sie dabei den vollständigen Dateinamen der .pid-Datei:kill `cat /pfad/zur/datei.pid`
Achten Sie bei der Eingabe bitte auf die sog. “Backticks” (Shift + `) anstelle der gewohnten Anführungszeichen um den “cat”-Befehl. Diese Zeichen sorgen dafür, dass die Ausgabe des Unterbefehles “cat /pfad/zur/datei.pid” automatisch in den “kill”-Befehl eingesetzt wird.
- Nun legen Sie eine neue Textdatei an. Schreiben Sie folgenden Befehl in einer einzigen Zeile hinein:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NeuesPasswort');
Speichern Sie diese neue Datei ab und merken Sie sich den Dateinamen. Für dieses Beispiel haben wir die Datei “~/mysql-reset” genannt. Durch die Tilde (~) wird diese Datei in Ihrem Home-Verzeichnis abgelegt.
- Jetzt starten Sie Ihren mySQL Server mit der Option “–init-file=~/mysql-reset” neu:
mysqld_safe --init-file=~/mysql-reset
Durch diesen Befehl wird der Inhalt der gerade erstellten Datei beim Start des mySQL Servers ausgeführt und ändert automatisch das Root-Passwort.
Nachdem der Server hochgefahren ist, sollten Sie die Datei “~/mysql-reset” löschen. - Ihr neues root-Passwort sollte nun funktionieren