**解决mysql 1045拒绝登陆的问题**

**解决mysql 1045拒绝登陆的问题**解决mysql1045拒绝登陆的问题当你登录MySQL数据库出现:Error1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平

大家好,又见面了,我是你们的朋友全栈君。

解决mysql 1045拒绝登陆的问题

当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。

MySQL 1045错误如图:

[plain] view plaincopy
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

解决方案:
1、 停止服务:停止MySQL服务;

2、 跳过验证:修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查;

3、 修改密码:启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。然后通过SQL语句修改root用户的密码;

4、 重启服务:将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

Windows系统具体操作:
1、 停止服务:

方法1:使用dos命令net stop mysql即可;使用这种方式MySQL服务必须为安装的服务,否则

会出现服务名无效,这时可以使用第二种方法。

方法2:进入【控制面板】–>【管理工具】 –>【服务】,找到MySQL服务,点击左边的停止。

2、 跳过验证:

进入MySQL的安装路径(以默认安装路径为例)C:\Program Files\MySQL\MySQL Server 5.1\,找到my.ini配置文件(些文件记录MySQL的常规参数,每次启动服务都会先加载此文件),在my.ini配置文件的最后一行加入skip_grant_tables,此语句可以忽略登录检查。

3、 修改密码:

启动MySQL服务,新打开命令窗口,输入mysql -u root -p 登录MySQL(如果安装时没有勾选添加
环境变量,需要先使用cd命令进入MySQL安装目录),此时提示输入密码,输入任意密码回车即可进入MySQL,出现mysql>控制符,此时表示已经成功登录MySQL;

mysql> USEmysql (将数据库切换至mysql库中)

mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=‘root’ (修改密码)

password函数为MySQL内部函数,其中newpswd为修改后的新密码。
mysql5.7以上,已经取消password字段,更新语句修改为:UPDATE user SET authentication_string=PASSWORD(‘newpswd’)WHERE user=‘root’

4、 重启服务:

将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

Linux系统具体操作:
1、 停止服务:

执行:/etc/init.d/mysqlstop

(你的机器不一定是/etc/init.d/mysql也可能是/etc/init.d/mysqld,可以通过find命令查找)。

2、 跳过验证:

执行:/usr/local/mysql/bin/mysqld_safe–skip-grant-tables >/dev/null 2>&1 &

(如果mysqld_safe的位置如果和不一样需要修改,如果不清楚可以用find命令查找)。

3、 修改密码,注意此时需要新开一个链接,链接linux系统

执行:

/usr/local/mysql/bin/mysql -u root mysql (登录mysql)

mysql> UPDATE user SET password=PASSWORD(‘newpswd’) WHERE user=‘root’ (修改密码)

mysql>flush privileges ( 刷新MySQL权限相关的表)

mysql>exit (退出MySQL)

4、 重启服务:

执行:

killall mysqld (杀死mysql进程)

/etc/init.d/mysql start (启动mysql服务)

可参考:http://blog.csdn.net/bbirdsky/article/details/8134528

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134116.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL中row_number() over(partition by)详解「建议收藏」

    SQL中row_number() over(partition by)详解「建议收藏」row_number语法ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号partitionby关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反…

    2022年6月14日
  • Vue父子组件传值的方法[通俗易懂]

    Vue父子组件传值的方法[通俗易懂]1.父向子传值props父组件:<child:inputName="name">子组件:(1)props:{   inputName:String,   required:true  }(2)props:["inputName"]2.子组件向父组件传值$emit子组件: <span>{{childValue}}</s…

    2022年5月17日
  • C#调用Win32 api学习总结

    C#调用Win32 api学习总结从.NET平台调用Win32API    Win32API可以直接控制MicrosoftWindows的核心,因为API(ApplicationProgrammingInterface)本来就是微软留给我们直接控制Windows的接口。一.  基础知识    Win32API是C语言(注意,不是C++语言,尽管C语言是C++语言的子集)函数集。

    2022年10月11日
  • 从源代码到可执行文件

    在理解一个源代码是如何成为可执行文件时,我简单的回顾下硬件层面、操作系统层面的知识。开机启动一BIOS扫描基本设备,cpu、memory、displayetc,从硬盘启动,读盘面1磁道1扇区1

    2021年12月25日
  • C++之运算符重载

    C++预定义中的运算符的操作对象只限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的,但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对运算符进行重新定义,赋

    2021年12月19日
  • Android布局优化之ViewStub、include、merge使用与源码分析

    Android布局优化之ViewStub、include、merge使用与源码分析在开发中UI布局是我们都会遇到的问题,随着UI越来越多,布局的重复性、复杂度也会随之增长。首先用得最多的应该是include,按照官方的意思,include就是为了解决重复定义相同布局的

    2022年6月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号