我一直在按照手册在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

然后我做了

cd ~/Desktop/iPDC-v1.3.1/DBServer-1.1
mysql -uroot -proot <"Db.sql"

我最终得到以下错误消息。

错误1045(28000):拒绝访问用户'root'@'localhost'(使用密码:YES)

我该如何修复它并继续?


当前回答

我最近也遇到了同样的问题,但就我而言,我记得我的密码很好,但它一直给我同样的错误。我尝试了很多方法,但是没有一个有用。然后我试了一下:

mysql -u root -p

然后它会要求你输入密码,就像这样

Enter password:

然后我输入了我用的密码。这是所有。

其他回答

从这个链接复制,我有同样的问题,这解决了问题。在我们为数据库添加密码之后,我们需要添加-p(基于密码的登录),然后输入密码。否则,它将返回以下错误:

mysql -u root -p

在我的情况下,我试图传递一个shell命令到docker容器。在这种情况下,只有第一个词被解释。确保你没有在运行:

mysql

相对于:

mysql -uroot -ppassword schemaname

也许可以试着引用:

'mysql -uroot -ppassword schemaname'

如果问题仍然存在,请尝试强制修改密码:

/etc/init.d/mysql stop

mysqld_safe --skip-grant-tables &

mysql -u root

设置新的MySQL root用户密码:

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

在my.cnf文件的底部添加以下两行代码:

[mysqld]    
skip-grant-tables    

这应该有用。

我知道已经很晚了。 我在弹簧引导应用程序中遇到了这个问题。

我通过使用默认值解决了这个问题,让我解释一下。

当我使用hibernate时,我使用了这个属性

<物业name =“连接用户。root > < /物业>

即connection.user

现在,我尝试在spring-boot应用程序中使用相同的方法。

spring.datasource.user

我得到这个错误。

解决方案是 spring.datasource.username