Posts tagged ‘MySQL’

MySQL per Konsole – Datenbank Dump erstellen

Eine Sicherungskopie (Dump) der laufenden MySQL Datenbanken zu erstellen, sollte zu den alltäglichen Aufgaben eines jeden Datenbankadministratoren gehören. Datenbank Administratoren sind oft auch Betreiber von Root Servern, leider wird dieses Backup gerade bei denen gern vergessen…
Es geht dabei doch so einfach… Man nehme einfach nachfolgende Kommandozeile:

# mysqldump --databases –opt -Q -uroot -pTopSecretKennwort Datenbank1 | gzip -9 > Datenbank1.sql.gz

MySQLHierbei passiert folgendes:

Zuerst geben wir an, das wir einen Dump einer Datenbank erzeugen wollen und verwenden hierzu das Bordmittel der MySQL, den Befehl mysqldump. Mit der Angabe von –databases geben wir an das wir Datenbanken exportieren, also dumpen, möchten. Die Parameter –uroot und –pTopSecretKennwort sollten sich ja eigentlich von selbst erklären.
Datenbank1 sei hier die zu exportierende Datenbank, wobei es mit diesem Kommando möglich ist mehr als eine Datenbank auf einmal zu exportieren.
Über eine Pipe (|) geben wir die Bildschirmausgabe StdOut an GZip weiter, da wir ja einen komprimierten Dump wollen, die Ausgabe von gzip wiederum wird in einen Datei umgeleitet, damit wir die Daten nicht nur auf den Bildschirm bekommen. Fertig!



1 von 3 iPhones gewinnen!

MySQL per Konsole – Neue Datenbank und einem Benutzer volle Rechte darauf geben

MySQLWie man per Konsole einen neuen Benutzer in der MySQL anlegen kann, hatte ich schon beschrieben. Leider darf dieser User von sich aus so nichts. Ganz nebenbei fehlt ja auch die Datenbank in der beispielsweise das WordPress laufen soll…
Also legen wir nun eine Datenbank an und geben unserem Benutzer im gleichem Arbeitsgang volle Rechte auf diese Datenbank:

$ mysql -p -u root
CREATE DATABASE data-base;
USE data-base;
GRANT ALL ON data-base .* TO db-user@localhost IDENTIFIED BY 'PASSWORD_CHANGE_ME';
FLUSH PRIVILEGES;
exit;

Sieht einfach aus, ist es auch…

Zuerst der Login als Benutzer Root mit Kennwort (mysql -p -u root). Nach der Eingabe des Root Kennwortes (das für MySQL, nicht unbedingt das für die Konsole) folgt auch schon das MySQL Kommando zum erstellen der Datenbank, in diesem Fall “DATA-BASE” (CREATE DATABASE data-base;). Da die Rechte für diese Datenbank auch gleich angepasst werden sollen, wechselt man nun erstmal in diese Datenbank (USE data-base;) – nun werden die vollen Zugriffsrechte gesetzt (GRANT ALL ON data-base .* TO db-user@localhost IDENTIFIED BY ‘PASSWORD_CHANGE_ME’;) welcher das Kennwort “PASSWORD_CHANGE_ME” hat und sich nur von localhost aus anmelden darf (@localhost) wenn er Zugriff auf diese Datenbank haben möchte. Abschließend die Rechte noch “updaten” (FLUSH PRIVILEGES;) und die MySQL Konsole verlassen (exit;).


Premium-Template.com

MySQL per Konsole – Benutzer anlegen

MySQLEgal was es eigentlich ist, als Root sollte ausser Root nichts auf der Datenbank arbeiten. Gerade Webanwendungen wie Typo3 oder WordPress, welche für jedermann zugänglich sind, sollten mit jeweils eigenen Benutzern auf den jeweiligen Datenbanken arbeiten.
Um einen neuen Benutzer für die MySQL Datenbank per Konsole anzulegen, lautet der Befehl wie folgt:

$ mysql -p -u root
CREATE USER 'neuer_benutzer'@localhost IDENTIFIED BY "passwort_fuer_neuer_benutzer";
exit;

Zur Erklärung: Mit dem erstem Teil (mysql -p -u root) sagen wir “Ich will mich auf die MySQL Datenbank aufwählen, ich bin der Benutzer Root (-u root) und habe ein Kennwort (-p). Anschließend wird nach dem Kennwort für den benutzer Root gefragt.

Im zweitem Teil sind wir bereits in der MySQL Konsole und geben hier unseren Befehl an die Datenbank weiter. Ich will einen neuen Benutzer anlegen (CREATE USER) welcher neuer_benutzer heisst und sich nur von hier aus, also von localhost, einloggen darf (‘neuer_benutzer’@localhost). Der neue Benutzer soll sich per Kennwort authorisieren, das Kennwort soll password_fuer_neuer_benutzer lauten (IDENTIFIED BY “passwort_fuer_neuer_benutzer”). Das ist alles was ich in diesem Schritt möchte, führe den Befehl aus (;).
Im letztem Schritt beenden wir die MySQL Konsole (exit;) und sind somit zurück auf unserer Ausgangskonsole (hoffentlich per SSH oder TTY1).