ГРЕШКА 1045 (28000): Отказан достъп за потребител 'root'@'localhost' (използващ парола: YES)

Аз съм електроинженер, който се занимава предимно с енергийни системи, а не с програмиране. Наскоро следвах едно ръководство за инсталиране на софтуерен пакет на 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]

В повечето случаи трябва да настроите и индивидуални потребителски акаунти, преди да работите интензивно с БД.

Коментари (14)

Успях да реша този проблем, като изпълних това изявление

sudo dpkg-reconfigure mysql-server-5.5

Което ще промени паролата на root.

Коментари (7)

ако проблемът все още съществува, опитайте се да промените прохода принудително

/etc/init.d/mysql stop

mysqld_safe --skip-grant-tables &

mysql -u 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
Коментари (6)