Σφάλμα MySQL: : 'Απαγορεύεται η πρόσβαση για τον χρήστη 'root'@'localhost&#39,

$ ./mysqladmin -u root -p 'redacted&#39, Εισάγετε τον κωδικό πρόσβασης:

mysqladmin: σύνδεση με διακομιστή στο 'localhost' απέτυχε σφάλμα: 'Απαγορεύεται η πρόσβαση για τον χρήστη 'root'@'localhost' (με χρήση κωδικού πρόσβασης: YES)'

Πώς μπορώ να το διορθώσω αυτό;

Λύση
  1. Επεξεργαστείτε το αρχείο /etc/my.cnf ή /etc/mysql/my.cnf, ανάλογα με τη διανομή σας.
  2. Προσθέστε το skip-grant-tables κάτω από το [mysqld]
  3. Επανεκκίνηση της Mysql
  4. Τώρα θα πρέπει να μπορείτε να συνδεθείτε στη mysql χρησιμοποιώντας την παρακάτω εντολή mysql -u root -p.
  5. Εκτελέστε την εντολή mysql> flush privileges;
  6. Ορίστε νέο κωδικό πρόσβασης με `ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
  7. Επιστρέψτε στο /etc/my.cnf και αφαιρέστε/σχολιάστε skip-grant-tables
  8. Επανεκκίνηση της Mysql
  9. Τώρα θα μπορείτε να συνδεθείτε με τον νέο κωδικό πρόσβασης mysql -u root -p.
Σχόλια (20)

Στο MySQL workbench σας, μπορείτε να μεταβείτε στην αριστερή πλευρική γραμμή, κάτω από τη Διαχείριση επιλέξτε "Χρήστες και προνόμια", κάντε κλικ στο root κάτω από τους Λογαριασμούς χρηστών, στο δεξί τμήμα κάντε κλικ στην καρτέλα "Όρια λογαριασμού" για να αυξήσετε τα μέγιστα ερωτήματα, ενημερώσεις κ.λπ., και στη συνέχεια κάντε κλικ στην καρτέλα "Ρόλοι διαχειριστή" και τσεκάρετε τα κουτάκια για να δώσετε πρόσβαση στο λογαριασμό. Ελπίζω ότι αυτό βοηθάει!

Σχόλια (0)

Το έκανα αυτό για να ορίσω τον κωδικό πρόσβασης root στην αρχική ρύθμιση της MySQL στο OSx. Ανοίξτε ένα τερματικό.

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

Κλείστε το τερματικό και ανοίξτε ένα νέο τερματικό. Και τα παρακάτω δουλεύουν στο Linux, για να ορίσετε τον κωδικό πρόσβασης root.

sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip-grant-tables

(sudo mysqld_safe --skip-grant-tables : Αυτό δεν λειτούργησε για μένα την πρώτη φορά. Αλλά στη δεύτερη προσπάθεια, ήταν επιτυχία).

Στη συνέχεια, συνδεθείτε στη MySQL

mysql -u root

FLUSH PRIVILEGES;

Τώρα αλλάξτε τον κωδικό πρόσβασης:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

Κάντε επανεκκίνηση της MySQL:

sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start
Σχόλια (0)