Είμαι ηλεκτρολόγος μηχανικός και ασχολούμαι κυρίως με συστήματα ηλεκτρικής ενέργειας αντί για προγραμματισμό. Πρόσφατα, ακολούθησα ένα εγχειρίδιο για την εγκατάσταση μιας σουίτας λογισμικού στο Ubuntu. Στην πραγματικότητα, δεν έχω καμία γνώση της mySQL
. Έχω κάνει τις ακόλουθες εγκαταστάσεις στο Ubuntu μου.
sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp
Στη συνέχεια, κάνω
me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"
Κατέληξα με το ακόλουθο μήνυμα σφάλματος.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Πώς μπορώ να το διορθώσω και να συνεχίσω;
Σημείωση: Για την MySQL 5.7+ ανατρέξτε στην [απάντηση του @Lahiru] σε αυτή την ερώτηση. Αυτή περιέχει πιο πρόσφατες πληροφορίες.
Για την MySQL < 5.7:
Ο προεπιλεγμένος κωδικός πρόσβασης root είναι κενό (δηλ. κενή συμβολοσειρά) και όχι root
. Έτσι, μπορείτε να συνδεθείτε ως:
mysql -u root
Προφανώς θα πρέπει να αλλάξετε τον κωδικό πρόσβασης root μετά την εγκατάσταση
mysqladmin -u root password [newpassword]
Στις περισσότερες περιπτώσεις θα πρέπει επίσης να δημιουργήσετε μεμονωμένους λογαριασμούς χρηστών πριν εργαστείτε εκτενώς με τη ΒΔ.
Κατάφερα να λύσω αυτό το πρόβλημα εκτελώντας την ακόλουθη δήλωση
sudo dpkg-reconfigure mysql-server-5.5
Η οποία θα αλλάξει τον κωδικό πρόσβασης root.
αν το πρόβλημα εξακολουθεί να υφίσταται, δοκιμάστε να αλλάξετε με τη βία το πάσο
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root
Ρύθμιση νέου κωδικού πρόσβασης χρήστη root της MySQL
use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit;
Διακοπή του διακομιστή MySQL:
/etc/init.d/mysql stop
Ξεκινήστε τον διακομιστή MySQL και δοκιμάστε τον:
mysql -u root -p