Ich habe heute gleich drei neue MySQL Kniffe gelernt!

Die sind zwar sicher fast jedem, der sich oberflächlich mit MySQL beschäftigt hat klar, aber ich kannte sie zuvor nicht. Dabei sind sie seeeehr hilfreich bei meiner täglichen Arbeit.

Auszugebende Felder auswählen

Will man nur ein paar Felder einer Datenbanktabelle ausgegeben bekommen, oder in einer bestimmten Reihenfolge, so kann man das mit folgendem select Befehl tun:

select feld1,feld4,feld3 from datenbank.tabelle;

oder, für einen speziellen Datensatz

select feld1,feld4,feld3 from datenbank.tabelle where feld1='wert';

Hashes erzeugen

Man kann MySQL direkt anweisen, aus einem String einen Hash zu erzeugen. Hat man z.B. keine Ahnung, mit welchem Algorithmus (MD5,SHA,Crypt, ...) eine Applikation ein Passwort in einer Datenbank abgelegt hat, kann man das wie folgt herausfinden:

  1. Anzeigen des Hash - z.B.  "select User,Host,Password from mysql.user where User='root';"
  2. Generieren eines Hashes per "select PASSWORD('DasPasswortDesUsers');"
  3. Ist der Hash gleich dem im Feld Password aus dem ersten Befehl, hat man den Algorithmus.

Es gibt auch noch die Hashfunktionen MD5, SHA, etc. Diese generiert man dann per MD5('pass');, SHA('pass);, usw.

Änderung der Passwortgenerierung zwischen den MySQL Versionen

Zunächst sollte man sich mal diesen Artikel durchlesen.

Mit MySQL 4.1 wurde eine neue Methode zur Passwortgenerierung eingeführt.

Hat man noch Datenbanken aus früheren Versionen, kann man diesen Hash mit der MySQL Funktion OLD_PASSWORD (wie in Tipp 2 dieses Artikels beschrieben) generieren.

Teilen per: TwitterEmail


Comments

comments powered by Disqus