MySQL 1045登录失败
2015-07-01 18:09
441 查看
原文地址:http://blog.csdn.net/bbirdsky/article/details/8134528
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。
MySQL 1045错误如图:
[plain]
view plaincopyprint?
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文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。
停止服务:
方法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服务,进入dos环境,输入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为修改后的新密码。
4、
重启服务:
将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。
停止服务:
执行:/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、
修改密码:
执行:
/usr/local/mysql/bin/mysql -u root mysql (登录mysql)
mysql>
UPDATE userSET password=PASSWORD(‘newpswd’)WHERE user=’root’ (修改密码)
mysql>flush privileges ( 刷新MySQL权限相关的表)
mysql>exit (退出MySQL)
4、
重启服务:
执行:
killall mysqld (杀死mysql进程)
/etc/init.d/mysql start (启动mysql服务)
版权声明:本文为博主原创文章,未经博主允许不得转载。
当你登录MySQL数据库出现:Error 1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平台。
MySQL 1045错误如图:
[plain]
view plaincopyprint?
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服务,进入dos环境,输入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为修改后的新密码。
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、
修改密码:
执行:
/usr/local/mysql/bin/mysql -u root mysql (登录mysql)
mysql>
UPDATE userSET password=PASSWORD(‘newpswd’)WHERE user=’root’ (修改密码)
mysql>flush privileges ( 刷新MySQL权限相关的表)
mysql>exit (退出MySQL)
4、
重启服务:
执行:
killall mysqld (杀死mysql进程)
/etc/init.d/mysql start (启动mysql服务)
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- 优化MySQL的21个建议
- mysql 中文乱码问题
- MySQL数据库负载很高连接数处理方法
- 几百万的数据,mysql快速高效创建索引
- 如何查看MySQL的当前存储引擎?
- 根据mysqlbin恢复丛库数据
- 根据mysqlbin恢复丛库数据
- 如何让mysql数据库支持超大图片
- 登陆mysql时出现unknown variable 'character_set_client=UTF8' 的错误
- 2种方法解决mysql主从不同步 .
- MySQL保存jpg图片 测试通过
- 2种方法解决mysql主从不同步 .
- mysql游标示例mysql游标简易教程
- 不停止MySQL服务增加从库的两种方式
- MYSQL索引及慢查询优化简析
- mysql行转列(拆分字符串场景)
- mysql密码为空,给设置密码
- mysql 存储过程事务
- mysql 复制原理图
- mysql 中的bool值