CHYBA 1045 (28000): prístup zamietnutý pre používateľa 'root'@'localhost' (používa heslo: YES)

Som elektrotechnický inžinier, ktorý sa namiesto programovania zaoberá najmä energetickými systémami. Nedávno som sa riadil návodom na inštaláciu softvérového balíka na Ubuntu. V skutočnosti nemám vôbec žiadne znalosti o mySQL. Na svojom Ubuntu som vykonal nasledujúce inštalácie.

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

Potom som urobil

me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"

Skončil som s nasledujúcou chybovou správou.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Ako to môžem opraviť a pokračovať?

Riešenie

Poznámka: Pre MySQL 5.7+ pozri odpoveď od @Lahiru na túto otázku. Tá obsahuje aktuálnejšie informácie.

Pre MySQL < 5.7:

Predvolené root heslo je prázdne (t. j. prázdny reťazec), nie root. Takže sa môžete jednoducho prihlásiť ako:

mysql -u root

Po inštalácii by ste si samozrejme mali zmeniť heslo roota

mysqladmin -u root password [newpassword]

Vo väčšine prípadov by ste mali pred intenzívnou prácou s DB nastaviť aj individuálne používateľské účty.

Komentáre (14)

Tento problém sa mi podarilo vyriešiť vykonaním tohto príkazu

sudo dpkg-reconfigure mysql-server-5.5

Ktorý zmení root heslo.

Komentáre (7)

ak problém stále pretrváva, skúste vynútiť zmenu priechodu

/etc/init.d/mysql stop

mysqld_safe --skip-grant-tables &

mysql -u root

Nastavenie nového hesla koreňového používateľa MySQL

use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit;

Zastavte MySQL server:

/etc/init.d/mysql stop

Spustite MySQL server a otestujte ho:

mysql -u root -p
Komentáre (6)