wake-up-neo.com

Zugriff für root-Benutzer in der MySQL-Befehlszeile verweigert

Ich habe gerade xampp installiert und benutze die Befehlszeile, um mySQL zu schreiben. Ich verwende 'root' ohne Passwort und kann eine Verbindung zu mysql herstellen, kann aber CREATE DATABASE nicht, da ich den Fehler 1044 access denied for user '' @ 'localhost' erhalte. Ich bin als -uroot eingeloggt.

Ich habe in phpMyadmin Privilegien, um das zu tun, was ich will, aber in der Kommandozeile habe ich scheinbar keine Schreibrechte. Ich habe mir alle anderen verwandten Beiträge zu diesem Thema angeschaut, aber ohne Erfolg. Ich kann keine Privilegien gewähren, da ich sowieso keine habe.

33
gavin

Ich habe den ODBC - Connector msi neu installiert und mySQL (außer xampp) direkt neu installiert. Jetzt funktioniert es. Ich denke, es war ein Verbindungsproblem, da SHOW DATABASES meine Datenbanken überhaupt nicht angezeigt hat.

Mein 'root'-Login hat keinen Zugriff auf die Datenbank erhalten, was den Eindruck hatte, dass es über eingeschränkte Berechtigungen verfügte, aber tatsächlich nicht richtig verbunden war.

0
gavin

Melden Sie sich als root bei MySQL an? Sie müssen Ihrem "regulären" MySQL-Benutzerkonto explizit Berechtigungen erteilen, wenn Sie als MySQL-Root angemeldet sind. 

Richten Sie zunächst ein Root-Konto für Ihre MySQL-Datenbank ein.

Im Terminaltyp:

mysqladmin -u root password 'password'

Um sich bei MySQL anzumelden, verwenden Sie folgendes:

mysql -u root -p

Um die Berechtigungen manuell festzulegen, starten Sie den Server manuell mit der Option skip-grant-tables. Öffnen Sie den mysql-Client und aktualisieren Sie manuell die Tabelle mysql.user und/oder die mysql.db-Tabellen. Dies kann jedoch eine langwierige Aufgabe sein. Wenn Sie also ein Konto mit allen Berechtigungen benötigen, würde ich Folgendes tun. 

Starten Sie den Server mit der Option skip-grant-tables 

Starten Sie den MySQL-Client (ohne Benutzername/Passwort) 

Den Befehl ausgeben

flush privileges;

was zwingt, die Grant-Tabellen zu laden. 

Erstellen Sie ein neues Konto mit dem GRANT-Befehl in etwa wie folgt (aber ersetzen Sie Benutzername und Kennwort durch das, was Sie verwenden möchten). 

GRANT ALL on *.* to 'username'@'localhost' identified by 'password';

Starten Sie den Server im normalen Modus neu (ohne Skip-Grant-Tabellen) und melden Sie sich mit Ihrem neu erstellten Konto an.

Siehe dieses MySQL-Dokument.

68
Jacob

navigieren Sie zu C:\xampp\mysql\bin\und stellen Sie sicher, dass sich die Datei mysql.exe im Ordner befindet.

mysql -uroot -p

wenn Sie kein Passwort haben, drücken Sie einfach die Eingabetaste.

die Eingabeaufforderung ändert sich zu 

mysql>

führen Sie Ihre mysql-Befehle aus

9
Paulo Pinto

Standardmäßig ist in XAMPP kein Kennwort für den root-Benutzer festgelegt.

Sie können ein Passwort für den Root-Benutzer von MySQL festlegen. 

Navigiere zu 

localhost: 80/security/index.php

und legen Sie das Passwort für den root-Benutzer fest.

Hinweis: Bitte ändern Sie die Portnummer in der obigen URL, wenn sich Ihr Apache in einem anderen Port befindet.

XAMPP-Kontrollfeld öffnen Klicken Sie auf die Schaltfläche "Shell"

Das Eingabeaufforderungsfenster wird jetzt in diesem Fenstertyp geöffnet

mysql -u root -p;

Sie werden aufgefordert, das Kennwort einzugeben, das Sie als Benutzer root festgelegt haben.

Da gehst du als Benutzer root eingeloggt: D Jetzt mache, was du willst: P

5
Vishal

Erhalten Sie Zugriff auf einen MariaDB 10-Datenbankserver

Nach dem Stoppen des Datenbankservers besteht der nächste Schritt darin, über eine Hintertür auf den Server zuzugreifen, indem der Datenbankserver gestartet und Netzwerk- und Berechtigungstabellen übersprungen werden. Dies kann durch Ausführen der folgenden Befehle erfolgen.

Sudo mysqld_safe --skip-grant-tables --skip-networking &

Setzen Sie das MariaDB-Root-Passwort zurück

Nachdem der Datenbankserver im abgesicherten Modus gestartet wurde, führen Sie die folgenden Befehle aus, um sich als root ohne Kennworteingabeaufforderung anzumelden. Führen Sie dazu die folgenden Befehle aus

Sudo mysql -u root

Führen Sie dann die folgenden Befehle aus, um die MySQL-Datenbank zu verwenden.

use mysql;

Führen Sie abschließend die folgenden Befehle aus, um das Root-Passwort zurückzusetzen.

update user set password=PASSWORD("new_password_here") where User='root';

Ersetzen Sie new_password _here durch das neue Passwort, das Sie für das Root-Konto erstellen möchten, und drücken Sie die Eingabetaste.

Führen Sie anschließend die folgenden Befehle aus, um die Berechtigungen zu aktualisieren und Ihre Änderungen auf der Festplatte zu speichern.

flush privileges;

Beenden Sie (STRG + D) und Sie sind fertig.

Starten Sie nun MariaDB wie gewohnt und testen Sie das neu erstellte Passwort.

Sudo systemctl stop mariadb.service
Sudo systemctl start mariadb.service

Melden Sie sich bei der Datenbank an, indem Sie die folgenden Befehle ausführen.

Sudo mysql -u root -p

source:https://websiteforstudents.com/reset-mariadb-root-password-ubuntu-17-04-17-10/

1
rubo77

Server-Datei nur Namensordner ändern

etc/mysql
rename
mysql-
0
alpc