我尝试过从谷歌获得的各种选项,但无法为root设置密码。我可以在没有任何密码的情况下登录,但是Java驱动程序需要一个密码,所以我必须设置它。
在最后一次尝试中,我尝试在MySQL控制台中执行以下命令:
SET PASSWORD FOR root@localhost=PASSWORD('abc123');但我犯了以下错误:
ERROR 1133 <42000>: Can't find any matching row in the user table发布于 2014-05-19 14:22:49
在终端中输入以下行。
停止MySQL服务器。
sudo /etc/init.d/mysql停止
启动mysqld配置。(在安全模式下)
数独mysqld_safe --跳过-授予-表&
以root用户身份登录到MySQL。
mysql -u root mysql用您的新密码替换YOURNEWPASSWORD!
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';
FLUSH PRIVILEGES;
exit;sudo /etc/init.d/mysql start
参考资料:
center/article/mysql-resetting-a-lost-mysql-root-password https://help.ubuntu.com/community/MysqlPasswordReset
发布于 2014-05-19 13:55:49
可能是用户root for localhost不存在。添加此帐户可以通过以下方式完成:
CREATE USER 'root'@'localhost' IDENTIFIED BY 'abc123';发布于 2014-05-19 13:59:42
在MySQL中,每个用户都由用户名和主机唯一标识,这意味着root@localhost与root@127.0.0.1或root@%不是同一个用户(例如)。这可能是因为您没有要设置密码的root@localhost用户。
重复检查mysql.user表中实际有哪些用户:
SELECT * FROM mysql.user WHERE user = 'root';如果要创建缺少的用户,请使用以下语句:
CREATE USER root@localhost IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO root@localhost;https://stackoverflow.com/questions/23739603
复制相似问题