Δημοσιεύτηκε: 03 Νοέμ 2010, 19:23
από Μάριος Ζηντίλης
Ο χρήστης στο σύνδεσμο που έδωσε ο Ηπειρώτης είχε μπερδέψει τη διαχείριση χρηστών στο λειτουργικό σύστημα με εκείνη στη MySQL.

Ως πρώτο βήμα, δοκίμασε να συνδεθείς ως χρήστης mysql αλλά με sudo, δηλαδή:
Κώδικας: Επιλογή όλων
sudo mysql -u mysql -p


Αν μπορείς να συνδεθείς ως άλλος χρήστης εκτός από mysql, τότε στη γραμμή εντολών της MySQL δώσε:
Κώδικας: Επιλογή όλων
select User from mysql.user;

Αυτό θα σου δείξει τα ονόματα όλων των χρηστών στη MySQL, τουλάχιστον έτσι θα βεβαιωθείς ότι υπάρχει ο χρήστης mysql. Αν είναι έτσι, και δεν έχεις ήδη συσχετίσει το χρήστη με κάποια βάση δεδομένων, τότε σβήσε τον με:
Κώδικας: Επιλογή όλων
delete from mysql.users where User='mysql';

Αν τον έχεις συσχετίσει ήδη με κάποια βάση και δε σε πειράζει να ξαναφτιάξεις το συσχετισμό, τότε μετά τη διαγραφή δώσε:
Κώδικας: Επιλογή όλων
flush privileges;

Τέλος, ξαναφτιάξε το χρήστη και δώσε του ξανά τα δικαιώματα που θέλεις να έχει πάνω στη βάση που πρέπει:
Κώδικας: Επιλογή όλων
create user 'username'@'localhost' identified by 'password';
grant all privileges on database.table to 'username'@'localhost';

Το database.table μπορεί να είναι database.* για όλους τους πίνακες στη database ή *.* για όλους τους πίνακες σε όλες τις βάσεις.

Τέλος, αν στην περίπτωσή σου απλά έχεις μπερδέψει τους χρήστες στο λειτουργικό με τους χρήστες στη βάση δεδομένων, τότε δοκίμασε:
Κώδικας: Επιλογή όλων
sudo mysql -u root -p

και μπες με το συνθηματικό του root που είχες καθορίσει ο ίδιος κατά την εγκατάσταση του MySQL Server.