MySQL:Benutzer: Unterschied zwischen den Versionen
Aus Alexander's Wiki
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 37: | Zeile 37: | ||
<source lang="mysql"> | <source lang="mysql"> | ||
INSERT INTO user VALUES('localhost','nutzer',PASSWORD('passwort'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); | |||
INSERT INTO user VALUES('%','nutzer',PASSWORD('passwort'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); | |||
</source> | </source> | ||
Aktuelle Version vom 15. Februar 2015, 16:08 Uhr
Bei mySQL kann man auf drei Arten neue Benutzer anlegen und diesen Rechte zuweisen.
Mit dem Programm eines Drittanbieters
Von Drittanbietern gibt es einige Programm. Man möge sich bei diesen erkundigen, die Benutzung ist dann zumeist intuitv.
Beim SQL-Developer muss man erst mySQL "aktivieren".
- Dazu den mysql-JDBC-Treiber herunterladen.
- Unter Extras -> Voreinstellungen -> Datenbank -> JDBC-Treiber eines anderen Herstellers
- den Treiber angeben.
Mit Hilfe der GRANT-Befehle
Diese Methode bevorzuge ich. Sie ist relativ Fehler unempfindlich. Man muss sich zuerst bei der Datenbank anmelden, z.B. so:
mysql --user=root mysql
Dann benötigt man die folgenden Befehle:
CREATE USER 'nutzer'@'%' IDENTIFIED BY '***';
CREATE DATABASE IF NOT EXISTS `nutzerdb` ;
GRANT ALL PRIVILEGES ON *.* TO 'nutzer'@'localhost' IDENTIFIED BY 'passwort' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'nutzer'@'%' IDENTIFIED BY 'passwort' WITH GRANT OPTION;
- *.* steht für die Datenbanken und Tabellen, kann also auch eingeschränkt werden, z.B.: meineDB.*
- localhost lässt nur Zugriffe von diesem zu
- % lässt Zugriffe von anderen Rechnern zu
Mit Hilfe der INSERT-Befehle
Äquivalent zum oben angegebenen Befehl lautet es hier:
INSERT INTO user VALUES('localhost','nutzer',PASSWORD('passwort'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
INSERT INTO user VALUES('%','nutzer',PASSWORD('passwort'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
Zugriff von anderen Rechnern
Editieren von /etc/mysql/my.cnf und dort bind-address = 127.0.0.1 auskommentieren.
mysql neu starten (/etc/init.d/mysql restart)
GRANT USAGE ON * . * TO 'nutzer'@'%' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;