我一直在按照手册在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服务器(Linux):

/etc/init.d/mysql stop

停止MySQL服务器(Mac OS X):

mysql.server stop

使用——skip-grant-tables启动mysqld_safe守护进程:

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服务器(Linux):

/etc/init.d/mysql stop

停止MySQL服务器(Mac OS X):

mysql.server stop

启动MySQL服务器服务,测试以root用户登录:

mysql -u root -p

其他回答

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

停止MySQL服务器(Linux):

/etc/init.d/mysql stop

停止MySQL服务器(Mac OS X):

mysql.server stop

使用——skip-grant-tables启动mysqld_safe守护进程:

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服务器(Linux):

/etc/init.d/mysql stop

停止MySQL服务器(Mac OS X):

mysql.server stop

启动MySQL服务器服务,测试以root用户登录:

mysql -u root -p

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

对于MySQL < 5.7:

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

mysql -u root

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

mysqladmin -u root password [newpassword]

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

在我的情况下,我发现我的根密码在日志文件“mysqld.log”,路径“/var/log”。

在我运行命令“mysql -u root -p”后,我输入我的root密码,我在/var/log/mysql .log中找到。

我可以通过执行这条语句来解决这个问题

sudo dpkg-reconfigure mysql-server-5.5

这将改变根密码。

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

[mysqld]    
skip-grant-tables    

这应该有用。