用户'root'@'localhost'的访问被拒绝(使用密码:YES)
Posted
技术标签:
【中文标题】用户\'root\'@\'localhost\'的访问被拒绝(使用密码:YES)【英文标题】:Access denied for user 'root'@'localhost' (using password: YES)用户'root'@'localhost'的访问被拒绝(使用密码:YES) 【发布时间】:2016-01-17 09:43:36 【问题描述】:我知道标题看起来很熟悉,但不。我正在开发一个网络应用程序,当我运行它时,它说:用户'root'@'localhost'的访问被拒绝(使用密码:NO)。我搜索了一些网站,他们说我应该使用密码。所以我使用mysql控制台更改了密码。比我收到此消息 Access denied for user 'root'@'localhost' (using password: YES)。当我重新进入 mysql 控制台并输入密码时,它会发出哔哔声而不是关闭。我得到了这个事件日志:
Log Name: Application
来源:.NET 运行时 日期:2015 年 10 月 18 日晚上 7:12:51 事件 ID:1026 任务类别:无级别:错误关键字: 经典用户:N/A 计算机:TOSHIBA-TOSH 描述: 应用:MySQLWorkbench.exe 框架版本:v4.0.30319 说明:进程因未处理的异常而终止。 异常信息:System.Runtime.Remoting.RemotingException 堆栈:在 System.Runtime.Remoting.Channels.Ipc.IpcServerChannel.StartListening(System.Object) 在 MySQL.Workbench.ApplicationInstanceManager.RegisterRemoteType(System.String) 在 MySQL.Workbench.ApplicationInstanceManager.CreateSingleInstance(System.String, System.String[], System.EventHandler`1) 在 MySQL.GUI.Workbench.Program.Main(System.String[])
事件 XML: 1026 2 0 0x80000000000000 537897 应用 东芝TOSH 应用程序:MySQLWorkbench.exe 框架版本:v4.0.30319 描述:进程因未处理而终止 例外。异常信息:System.Runtime.Remoting.RemotingException 堆栈:在 System.Runtime.Remoting.Channels.Ipc.IpcServerChannel.StartListening(System.Object) 在 MySQL.Workbench.ApplicationInstanceManager.RegisterRemoteType(System.String) 在 MySQL.Workbench.ApplicationInstanceManager.CreateSingleInstance(System.String, System.String[], System.EventHandler`1
) 在 MySQL.GUI.Workbench.Program.Main(System.String[])
有什么帮助吗?我卸载了所有东西(wamp、mysql、dreamweaver、......)但仍然遇到同样的问题。当我输入密码 时,mysql 工作台会出现此错误。
我尝试使用 config.inc.php 解决方案,但还是一样。
【问题讨论】:
您输入的密码错误。你是怎么改的?我们可以看看你使用的命令吗? 在 config.inc.php 中我把它作为“root”,在 mysql 控制台中我使用:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root'); 你能用上面的用户名和密码访问phpmyadmin吗? 不,我在localhost/phpmyadmin 中得到了这个:#1045 - 用户'root'@'localhost' 的访问被拒绝(使用密码:YES)phpMyAdmin 试图连接到 MySQL 服务器,并且服务器拒绝连接。您应该检查配置中的主机、用户名和密码,并确保它们与 MySQL 服务器管理员提供的信息相对应。 你能通过 root 或任何其他管理员用户从服务器控制台连接 mysql.... 【参考方案1】:请按以下步骤操作:
转到 mysql 服务器控制台并按照以下步骤操作:
第一步:打开你的配置文件,在[mysqld]
部分添加下面的行并保存文件。
skip-grant-tables
skip-networking
Step2:重启你的mysql服务,如果是linux的话可以使用下面的命令。
service mysqld restart
Step3: 现在通过以下命令连接mysql-
mysql -uroot
第四步:上面的命令会连接你的mysql,并会显示如下的mysql提示-
mysql>
Step5:现在按照以下更改root密码-
mysql> update mysql.user set password = password('root123') where user='root';
OR
mysql> update mysql.user set password = password('root123') where user='root' and host = 'localhost';
mysql> flush privileges;
mysql> exit;
Step6:现在从配置文件中删除新添加的行,并按照 step2 重新启动 mysql 服务。
现在你可以用 root 用户连接你的 web 或 phpmyadmin。
【讨论】:
我在 6 个步骤中完全按照您的要求完成了。但是当我使用 phpmyadmin 时仍然出现错误: MySQL 说:文档 #1045 - 用户'root'@'localhost' 的访问被拒绝(使用密码:YES)phpMyAdmin 尝试连接到 MySQL 服务器,并且服务器拒绝了连接.您应该检查配置中的主机、用户名和密码,并确保它们与 MySQL 服务器管理员提供的信息相对应。 现在你可以从 mysql server consol 连接 mysql 不,但我卸载了所有东西并重新安装,现在它可以工作了。 根据您的 phpMyAdmin 配置,它使用硬编码在 phpmyadminconfig.inc.php
文件中的密码。当您在 MYSQL 中更改 root 密码时,您必须修改 phpMyAdmin 将尝试使用的密码。 PS 有更好的 phpMyAdmin 配置可以让 phpMyAdmin 抛出一个登录页面,这样你就可以手动输入 username
和 password
【参考方案2】:
也许来自 localhost 的 root 没有访问数据库所需的授权。
尝试在 mysql 控制台上运行以下命令:
GRANT ALL ON <yourdb>.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 我刚才做错了什么?只需回答我的帖子问题并停止批评我发表评论的方式@BFDatabaseAdmin @droidnation - 首先,这是由评论提示生成的标准回复,因为此答案被标记为可能质量低下。其次,它甚至不是针对您,而是针对回答者,因为这不是一个完整的答案。第三,礼貌,请。 @BFDatabaseAdmin 我无法对原始帖子发表评论。我发布了回复,因为我很确定这是问题所在。 @LucaTruffarelli 问题是当我输入密码时 mysql 控制台会发出哔声并立即关闭以上是关于用户'root'@'localhost'的访问被拒绝(使用密码:YES)的主要内容,如果未能解决你的问题,请参考以下文章
错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问
用户'root'@'localhost'的MYSQL访问被拒绝
用户'root'@'localhost'的访问被拒绝(使用密码:YES)