我一直在按照手册在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版本中,MySQL中没有任何密码。用户表。

所以你需要执行ALTER USER。将这一行命令放入文件中。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

并以init文件的形式执行(以root或mysql用户):

mysqld_safe --init-file=/home/me/mysql-init &

MySQL服务器需要停止才能启动mysqld_safe。

另外,加载这个init文件的AppArmor权限可能也有问题。阅读更多在AppArmor和MySQL。

其他回答

我也遇到了同样的问题。我做了:

打开cmd 进入C:\Program Files\MySQL\MySQL Server 8.0\bin> (MySQL Server 8.0可能不同,取决于你安装的服务器) 然后输入以下命令mysql -u root -p 它会提示输入密码…简单地按Enter,因为有时你在安装时输入的密码会变为空白。

现在您可以简单地访问数据库。

这个解决方案在Windows平台上很适合我。

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

mysql -u root -p

如果你还没有设置密码,那么运行mysql -uroot。这对我很管用。

注意:对于MySQL 5.7+,请参见Lahiru对这个问题的回答。这包含了更多的最新信息。

对于MySQL < 5.7:

默认root密码为空(即空字符串),而不是root。所以你可以登录为:

mysql -u root

安装完成后,您显然应该更改root密码:

mysqladmin -u root password [newpassword]

在大多数情况下,您还应该在广泛使用数据库之前设置个人用户帐户。

在终端输入:

mysql -u root -p

然后它会问你密码。