Neue Methode: Spezielle SQL-Befehle

Siehe Abschnitt 12.4.1 Account Management Statements im MySQL-Handbuch.

Verbindung mit dem Server herstellen, z.B. lokal:

$ sudo -u root mysql -p
[sudo] Password for dennis:
password:

Einen neuen Benutzer anlegen, der sich von überall verbinden darf (Hostname = '%')

CREATE USER 'username' IDENTIFIED BY 'password';

Einen Benutzer anlegen, der sich nur lokal oder von einem bestimmten Host anmelden darf:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE USER 'username'@'vr_webdev' IDENTIFIED BY 'password';

Das Passwort verschlüsselt übergeben. Muss der Ausgabe von SELECT PASSWORD() entsprechen.

CREATE USER 'username' IDENTIFIED BY PASSWORD '...';

Der neue Benutzer hat noch keine Berechtigungen, außer sich anzumelden. MIt GRANT werden ihm Berechtigungen zugeteilt:

GRANT ALL ON db1.* TO 'username'@'localhost';
GRANT SELECT ON db2.invoice TO 'username'@'localhost';
GRANT USAGE ON *.* TO 'username'@'localhost' WITH MAX_QUERIES_PER_HOUR 30;

Alte Methode: Tabelleneinträge manipulieren

1) MySQL mit dem Root-User starten

su root mysql

2) Neuen Eintrag in mysql.user einfügen

USE mysql

INSERT INTO user
(host, user, password, select_priv, insert_priv, update_priv)
VALUES
('localhost', 'username', PASSWORD('mypass'), 'Y', 'Y', 'Y');

FLUSH PRIVILEGES;

3) Eintrag überprüfen

SELECT
host, user, password, select_priv, insert_priv, update_priv
FROM user
WHERE user = 'username';

4) Aufruf von MySQL:

mysql -u USERNAME -p

Andernfalls geht MySQL davon aus, dass sich der aktuelle Systemuser ohne Passwort anmelden will.


Weitere Felder von user:

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv


attachments

imageappend Append an Image
>