MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
speefak
Beiträge: 438
Registriert: 27.04.2008 13:54:20

MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von speefak » 15.09.2018 14:00:26

Hallo,

ich scheitere nun wieder seit einigen Stunden an einer eigentlich einfachen Aufgabe : dem Anlegen einer Datenbank.

Der MySQL Server mit einer Maria Datenbank wurde vor einiger Zeit um eine "Funktion" erweitert, die es ermöglicht sich ohne Datenbankrootpasswort via "sudo mysql" als root anzumelden.
PhpMyadmin kann sich jedoch ohne gültiges root Passwort nicht auf dem MySQL Server einloggen ( die Vergabe eines root Passwort löst andere Fehler aus ). Darum habe ich ein 2ten root Account (root2) mit Passwort erstellt.

Entweder hat der Account die falschen Rechte oder irgendwas anderes passt nicht mehr. Via PhpMyadmin (root2) kann ich keinen neuen User samt Datenbank erstellen. Via MySQL Konsole (root) ebenfalls nicht. Ich habe von der der SQL Syntax nicht so wirklich Ahnung ;(

Ziel soll es sein mit einem 2ten root Account via PhPMyAdmin User und Datenbanken verwalten zu können ohne den eigentlichen root Account zu verändern.

Selbst das erstellen eines neuen Accounts funktioniert nicht mehr :
sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32363
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
MariaDB [(none)]>
MariaDB [(none)]> grant all on *.* to root2@localhost identified by 'Strange459!' with grant option;
ERROR 1698 (28000): Access denied for user 'root'@'localhost
MariaDB [(none)]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
Irgendwie habe ich dem root Account scheinbar die root Rechte für den Server genommen ?! Beim Einrichten des MySQL Servers vergab ich für den root Accound ein Passwort und deaktivierte den unix Socket ( sudo mysql war nicht mehr möglich ). Nachdem dann systeminterne Fehler auftraten, da einige Routinen von einem sudo mysql login ohne Passwortabfrage ausgingen, aktivierte ich den unix Socket wieder, löschte das root Passwort und erstellte einen 2ten root Account (s. https://speefak.spdns.de/oss_lifestyle/ ... hpmyadmin/ ) - dabei ist irgendetwas falsch gelaufen.

Wie gesagt habe ich von Syntax nicht viel Ahnung und würde mich daher über Hilfe zur Fehleranalyse und Fehlerbehebung freuen.

mfg

Speefak

schwedenmann
Beiträge: 5524
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von schwedenmann » 15.09.2018 15:34:17

Hallo

Afaik kannst du jedem user alle rechte (also wie root in mysql) geben.

https://forum.selfhtml.org/self/2005/oc ... arf/887739


google mal mysql und user und Rechte

mfg
schwedenmann

P.S. eine 2. rootaccount anlegen , sop wie du, würde ich nicht.
P.P.S wieso hast du dem root kein PW für mysql zugewiesen?

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von heisenberg » 16.09.2018 00:23:33

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
15.09.2018 15:34:17
P.P.S wieso hast du dem root kein PW für mysql zugewiesen?
Ich meine dass der root-System user sich ohne Passwort als root-mariadb-user anmelden kann. (Bei ubuntu 18? Debian Stretch?).

Kann gerade nicht aus dem Kopf sagen, wie die mariadb-Einstellung dazu heißt, die da jetzt per default aktiviert ist.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

schwedenmann
Beiträge: 5524
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von schwedenmann » 16.09.2018 07:46:59

Hallo


@heisenberg

Nach der Martiadb Installation sollte man afaik das
mysql_secure_installation.sh aufrufen, da kann man unter Anderem auch das Root-PW für die db ändern.

mfg
schwedenmann

bmk555
Beiträge: 9
Registriert: 15.08.2017 16:42:44

Re: MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von bmk555 » 18.09.2018 14:38:58

Hallo,

vermutlich loggt sich root über das plugin unix_socket ein, da braucht es dann kein Passwort.

Code: Alles auswählen

mysql –u root
connect mysql;
Select User, plugin from user;				# falls da der Eintrag "unix_socket" erscheint, zurücksetzen mit:

update user set plugin='' where User='root'; 

# und ein root-Passwort setzen:
update User set password=PASSWORD(“Dein-neues-Passwort”) where User=’root’;

flush privileges;
quit
Grüße bmk

Benutzeravatar
speefak
Beiträge: 438
Registriert: 27.04.2008 13:54:20

Re: MySQL Datenbanken und Nutzerverwaltung ( MariaDB )

Beitrag von speefak » 10.10.2018 12:31:39

Genau das habe ich gemacht, dem root user ein PS vergebene und den unix socket deaktiviert. Dies verusachte jedoch Systemfehler da unter Debian 9 einige Routinen von einem root accound ohne passwort mit aktivierten unix socket plugin ausgehen. Nachdem ich das Unix-Socjet-Plugin wieder aktiviert habe und das passwort entfernt habe, ging ich davon aus alles wieder in den ursprünglichen Zustand zurückversetzt zu haben. Dies ist leider nicht der Fall da der root User jetzt keine root rechte mehr hat sondern nur noch der root2 User.

Zusammenfassung / Lösung auf : https://speefak.spdns.de/oss_lifestyle/ ... erstellen/
Zuletzt geändert von speefak am 11.10.2018 11:02:47, insgesamt 1-mal geändert.

Antworten