热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL改密码报错:ERROR1045:Accessdeniedforuser:'root@localhost'(Usingpassword:YES)

上网找了很多资料,知道大概是因为没有给root设置权限的原因,方法终于是找到一种了。不过比较麻烦,但是也没有办法了,不弄好我的Mysql数据库就用不了,很多开发的应用都是连的Mysql数据库。

   明天去面试,今晚想看看MySQL的一些指令,虽然之前一直在用Mysql,但是感觉都是在做一些简单的操作。结果刚开始捣腾Mysql就吃了闭门羹,我之前一直用的>mysql -uroot -p。Enter Password123456去链接Mysql数据库的,也从来没有修改过密码,结果当我用>mysqladmin -uroot -p123456 password abc123;指令把密码改为“abc123”再重新连接数据库的时候竟然一直在报:Access denied for user 'root'@'localhost' (using password:YES) 这个错。

上网找了很多资料,知道大概是因为没有给root设置权限的原因,方法终于是找到一种了。不过比较麻烦,但是也没有办法了,不弄好我的Mysql数据库就用不了,很多开发的应用都是连的Mysql数据库。

大概的步骤如下:

第一步:以系统管理员身份登录到系统; 

第二步:如果MySQL服务器正在运行,停止它。 方法有两个,1:开始菜单->控制面板->管理工具->服务,找到Mysql服务停掉。2:右击我的电脑->管理->服务与应用->服务,找到mysql服务停掉。3:Ctrl+Alt+Delete->启动服务管理器->服务,找到mysql服务停掉。(这一步这么简单,我写的太详细,不应该不应该啊!浪费电平啊!)

第三步:选择一个硬盘最外面创建一个txt文件,为什么呢?因为这个txt只是辅佐你解决掉这个错误,解决掉错误它的光荣任务就完成了,就可以壮烈牺牲了,不要感到可惜,它没有生命的。比如放在:C:\mysql-init.txt。(这个txt最好还是取这个名字,不要个性化,其他不知道行不行,我也没有实验过,这个名字正好是Mysql的进程名字,不要问为什么是这个名字,计算机这东西在中国是不能问为什么的,知道是这样就行了。)在里面输入一句话:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); 

后面的那串数字是我重新设置的密码,因为我MyEclipse的项目里面默认的都是这个密码,你们改回自己想要的密码就行了。

第四步:进入DOS命令提示:开始菜单->运行-> cmd ,然后cd到你安装Mysql的目录下,当然我的Mysql埋的比较比较深,C:\Program Files\MySQL\MySQL Server 5.0\bin>。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。 在DOS命令提示符下,执行命令: 
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld-nt --init-file=C:\mysql-init.txt 。

第五步:启动服务,步骤和第二步一样。在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。这个时候这个txt的任务完成了。如果起动MySQL服务器出错,把进程mysqld-nt.exe关闭(第二步的第三种方法可以找到进程关掉)。然后重启它,OK。

最后就可以用你在第三步设置的密码>mysql -uroot -p 去链接Mysql数据库了。

但是你会问难道我每次改密码都要弄出这个错来,还要牺牲一个txt才能改密码成功吗?就没有一条指令搞定改密码这种简单的事情,当然不是啦。具体方法就是你用这条指令>mysqladmin -uroot -p123456 password abc123;改密码的时候,要用这个指令>mysql -uroot -p123456登录,而不是换行输进密码,登录之后再在mysql>操作符后面加上一句给权限的语句(很多资料并没有表述明白下面这条指令什么什么时候输入,搞得很多人以为是在改完密码过后立刻输入,就会有报错声音): 
grant all on mysql.* to 'root'@'localhost' identified by 'password'; 
最后那个password即是你要修改的root用户的密码 。我这里是“123456”这个时候下次登录才可以用>mysql -uroot -p。Enter Password123456登录数据库。


其实以上都是废话来,如果你想改密码,直接用原来的密码登录过后,用下面任何一条指令都可以改密码,但是要重复运行同一条指令两次,第一次我把它当作改密码,第二次当作授予权限,这样一点事都没有,你可以这样子>mysql -uroot -p123456登录,还可以这样子>mysql -uroot -p。Enter Password123456登录。其中newpassword就是新密码

grant all on mydb.* to NewUserName@HostName identified by "newpassword" ;
grant usage on *.* to NewUserName@HostName identified by "newpassword";
grant select,insert,update on mydb.* to NewUserName@HostName identified by "newpassword";
grant update,delete on mydb.TestTable to NewUserName@HostName identified by "newpassword";

即是:

grant all onmysql.* to  'root'@'localhost' identified by "newpassword" ;
grant usage on *.* to  'root'@'localhost' identified by "newpassword";
grant select,insert,update on mydb.* to  'root'@'localhost' identified by "newpassword";
grant update,delete on mydb.TestTable to  'root'@'localhost' identified by "newpassword";

如果是自己电脑多点尝试,总会发现有办法的,公司的电脑就不要试啦,搞坏数据库。有错请指正。哈哈!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
author-avatar
Re__my_雨言栋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有