Was bedeutet X11? Sie wissen es nicht, egal ...  Interesse ? Info hier: X Window System
Linux-Server-Administratoren, sollten es jedoch wissen!
Das X Window System ist Netzwerkfähig wie wir, multiflexibel und anpassungsfähig!
  • Produkte
  • News
  • Support
  • Service/FAQ
  • Referenzen
  • Links
  • Seite Drucken
  • Kontakt
  • Impressum
  • FAQ
  • Linux Server HowTo
  • Typo3 Extensions
  • Kleine Helfer
  • SSL Root Cert
Die Mysql Kommandozeile

Eine neue Datenbank erstellen

Es wird eine Datenbank mit dem Namen db1news angelegt.

mysqladmin -u'root' -p create db1news;

Mysqlbenutzer erstellen

Es wird der Benutzer "test" auf dem Datenbankserver "localhost" angelegt, der sich mit dem Passwort "your_password" verbinden kann.

CREATE USER 'test'@'localhost' IDENTIFIED BY 'your_password';

Passwort für Mysqlbenutzer ändern

Es wird dem Benutzer "test" von "localhost" ein neues Passwort zugewiesen.

SET PASSWORD FOR test'@'localhost' = PASSWORD('newpass');

Die Mysqlbenutzer anzeigen lassen

SELECT user FROM mysql.user;

Einem Mysqlbenutzer alle Rechte auf eine oder mehrere Datenbanken zuweisen

Für die Datenbanken testdb_news und testdb_shop bekommt der Benutzer "test" alle Rechte wenn er sich vom "localhost" mit Mysql verbindet.

 

Zuerst müssen wir uns auf der "MYSQL" Kommandozeile als Administrator (root) anmelden. Der Parameter "-p" weist Mysql an nach, dem Passwort des Administrators zu fragen. Alternativ kann nach dem Parameter auch das Passwort direkt angegeben werden, jedoch ist das auf einem "Shared Hosting" sicherheitstechnisch keine gute Idee, da es eventuell von einem anderem Benutzer (hacker knowhow required) über /proc/..... mitgelesen werden könnte.

 

Nun können wir die Berechtigungen zuweisen.

mysql -u'root' -p

GRANT ALL PRIVILEGES ON `testdb\_%` . * TO 'test'@'localhost';

Die Berechtigungen (GRANTS) des Mysqlbenutzers anzeigen lassen

So werden die Berechtigungen des Benutzers "test" zu der Datenbank auf dem localhost angezeigt.

SHOW GRANTS FOR 'test'@'localhost';

Die Ausgabe sollte dann in etwa so aussehen

+----------------------------------------------------------------------------------------------------------------------+

| Grants for test@localhost |

+----------------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*9AE6D3CDA212347183D56BE644273AA783B7545' |

| GRANT ALL PRIVILEGES ON `testdb_news` .* TO 'test'@'localhost' |

| GRANT ALL PRIVILEGES ON `testdb_shop` .* TO 'test'@'localhost' |

+----------------------------------------------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

Einem Mysqlbenutzers nur "SELECT permission" auf eine bestimmte Datenbanktabelle zuweisen

Es wird der Benutzer "user_ro" angelegt, welcher auf die Datenbank "production" nur einen SELECT (also nur Leserechte ) auf die Tabellen domains und records ausführen kann.

CREATE USER 'user_ro'@'localhost' IDENTIFIED BY 'your_password';

GRANT SELECT ON `production`.`domains` TO 'user_ro'@'localhost';

GRANT SELECT ON `production`.`records` TO 'user_ro'@'localhost';

 

Einen Mysqlbenutzers anlegen welcher mysqldump auf alle Datenbanken anwenden kann (Backups erstellen).

Anlegen eines Backupadmins mit den minimal Berechtigungen (alle Datenbanken des Systemes zu "dumpen" ->backups erzeugen).

GRANT SELECT,SHOW DATABASES,LOCK TABLES ON *.* TO 'backupadmin'@'localhost';

Globale Privilegien sind Administrative oder zuweisung zu allen Datenbanken auf den betreffenden Server. Um globale Privilegien zuzuweisen wird ON *.* syntax verwendet.