Zeige Artikel 1 bis 4
Displaying posts with tag: Datenbank (reset)
MySQL verteilte Daten

Anbei eine kleine Idee für alle, die verteilte Datenhaltung haben, und dazu eine architektonisch recht einfache Synchronisation brauchen. Manchmal kommt aus diversen Gründen ein Replikationsmechanismus nicht in Frage. Dafür nun die folgende Idee. Wir nutzen dabei aus, dass MySQL bei zusammengesetzten Indizes einen AUTO_INCREMENT-Wert pro distinktem Schlüsselpräfix zählt. Das heißt ganz konkret: Wir legen einen [...]

mySQL: Eindeutige ID (UID) erzeugen

Damit Sie in einem SQL Statement eine eindeutige ID (unique ID = UID) nutzen können, steht Ihnen der Befehl “uuid()” zur Verfügung:

SELECT UUID();

Ergebnis:

f15be048-dfb8-102d-b15d-88b2e2560827

Hinweis:
In Verbindung mit einer aktiven Replikation kann diese Funktion derzeit noch nicht genutzt werden.

mySQL: IP Adresse in Integer umrechnen (und zurück)

Netzwerkadressen werden üblicherweise als String (vier punktgetrennte Oktette) übergeben.
Um diesen Text in eine Zahl (integer) umzurechnen, nutzen Sie die Funktion “inet_aton()”.
Natürlich kann diese Funktion auch nur Teil-IP-Adresse umwandeln.
Das folgende Beispiel zeigt die Anwendung:

SELECT INET_ATON('192.168.0.200');

Ergebnis:

3232235720

Die Zahl berechnet sich aus folgender Formel:

192×2563 + 168×2562 + 0×256 + 200 = 3232235720

Um diese Zahl wieder in eine gültige IP Adresse zu konvertieren, zeigen wir im folgenden Beispiel
die Anwendung des mySQL Befehls “inet_ntoa()”:

SELECT INET_NTOA(3232235720);

Ergebnis:

192.168.0.200
mySQL: Aktuell angemeldeten Benutzer anzeigen

Um 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);
Zeige Artikel 1 bis 4