mysql一直拒绝登录_mysql 登录错误:1045 (28000)访问被拒问题

关键条目:ERROR 1045(28000): Access deniedforuser'root'@'localhost'(using password: YES)

这个错误1045(28000)的本质其实就是访问被拒绝,问题原因也很简单,就是用户密码不适用,也可以理解为用户或密码错误。

Access deniedforuser'root'@'localhost'是说登录账户‘root’host为'localhost'的这个账户,访问本数据库被拒绝了。

using password: YES是指你登录时是否输入了密码,如果输入了,就显示YES,没有输入就显示NO。在mysql中,提供了一些无密码或者匿名登录方法,这条信息是用于区分这些情况的。

1.密码错误

出现这个问题最常见的原因,就是密码输入错了。那么如果你还有管理员账户,用管理员账户登录并提取或者修改账户密码就可以。如果管理员账户无法登录,那么就需要绕过数据库的访问控制器,直接登入数据库。

绕过访问控制器的方法很多,根据所用系统和使用的mysql版本不同,会有不同方法。这里介绍linux下的一种方法。首先关闭mysql服务,直接输入下述命令:

① mysqld_safe--user=mysql --skip-grant-tables --skip-networking &

然后进入访问路径(linux一般是/usr/bin),用②mysql -u root登录,即无密码登录。

这时一般就可以登录了。需要注意的是,系统不会允许同时运行多个访问进程,所以之前运行①的时候要求关闭正常的mysql服务,但是很多时候,阴差阳错的情况下,可能会运行多个mysql访问进程,这时需要查询mysql关键字的进程列表,然后kill掉,再次进行操作。

言归正传,用这种方式登录mysql后,可以直接访问用户表。一般来说,mysql 的用户表,处于mysql数据库下(对初学者来说,这句话就是说你需要输入 use mysql;)。

这时,输入下述语句进行修改;

③ UPDATE user SET Password=PASSWORD('密码')where USER='root';

注意,要在语句中的‘密码’这里输入你的密码,而不是直接修改password项,这一点非常重要。

④UPDATE user SET Password=‘密码’where USER='root';和③的区别在于,④会直接修改用户表中的password项,而③则是将你输入的密码用哈希算法加密为哈希值再输入密码。mysql用户密码是加密的,这一点非常重要,如果你直接修改了password项,是无法正常登陆的 。

修改完以后,不要忘记用下述命令使设置生效。

⑤FLUSH PRIVILEGES;

然后退出,重新启动mysql 的服务,就可以正常登陆了。

2.空用户访问覆盖

一种比较少见的情况,是空用户的访问覆盖现象。以本文报错条目为例,这种情况,就是在用户表中,存在host值为‘localhost’但是用户名密码为空的账户(即匿名账户),一般情况下这种情况不会影响登录。但有时候,用户的登录的匹配信息会被匹配到空用户上,导致密码匹配失败,报出1045(28000)错误。这种情况比较少见,我也不是很明白复现的原理,就不多做赘述。

解决方法也很简单,如第1中情况一样,登录用户表,然后删除空用户记录即可。

⑥DELETE from usr where HOST='localhost' and USER='';

然后还是别忘记使设置生效以及重启数据库服务。

3.用户权限不足

还有一种比较常见的情况,是用户权限不足。一般来说,发生在非管理员账户,而且很可能发生在账户易手之后,也就是说,人为的情况比较多。

这种情况就是用户的访问权限被限制了。mysql用户权限是由很多项目的。

很多项目出现限制都会阻止权限访问,下面介绍最常见的两种修改方法。

设置指定用户名访问权限为全访问。(账户访问权限不足)

grant all privileges on *.* to '用户名'@'%' IDENTIFIED BY '密码';

设置指定可访问主机权限。(账户访问地址不适用)

grant all privileges on *.* to 'liuhui'@'10.2.1.11';

其中‘%’是可访问所有数据库,‘localhost’是允许本地访问,‘ip地址’是指允许在该ip地址用该账户远程访问本数据库。

很多创建远程访问用户出错的案例里,都是给予用户访问权限不足或者没有给用户开放访问地址造成的拒绝访问。

需要注意的是,在不启动访问控制器访问数据库的情况下,是无法查看用户详细权限的。所以对于权限的操作,最好还是在管理员账户下进行操作。

一点心得,与诸君共勉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLServer书写规范梳理

今天给大家分享SQLServer书写规范笔记,希望对大家能有所帮助!1、在名称中仅使用字母、数字和下划线要在名称中仅使用字母、数字和下划线,主要是因为这些字符可以被方便的移植到编程语言中。在应用程序的数据库和编程语言中能够使用相同的属性字段名称&am…

android 屏幕旋转不重新加载,Android webview旋转屏幕导致页面重新加载问题解决办法...

Android webview旋转屏幕导致页面重新加载问题解决办法1. 在create时候加个状态判断protected void onCreate(Bundle savedInstanceState){...if (savedInstanceState null){mWebView.loadUrl("your_url");}...}2. 重载保存状态的函数:Overrideprotected…

visio调整形状位置_VISIO绘图技巧—三相桥式全控整流电路绘制

前些天有网友留言询问如何画三相桥式全控整流电路,一直没时间回复。今天得闲在家,给大家介绍一下如何来画。上图是一个三相桥式全控整流电路原理图,大部分图形元件在VISIO自带的图形库中都能找到,下面来看看如何找出我们需要的绘图…

计算机组成原理——关于数据对齐存储

计算机组成原理——关于数据对齐存储 1. 综述 博客:http://blog.csdn.net/cyxcw1/article/details/9080519(C/C数据边界对齐的注意事项) 对齐:变量的起始地址为其大小的整数倍。如short型占两个字节,其起始地址就要从偶数地址开始。 对齐可以…

电脑术语科普:什么是“显卡交火”?

有时候看到别人在讨论显卡交火的话题,相信大家对显卡交火这个术语了解得也比较少,那么它是什么意思呢? 显卡交火简单的说就是:让两块或者多块显卡在一台机子上协同工作,相比于使用一张显卡图形性能有所提升。 目前主流显卡交火有…

Mac查看本机ip地址

Mac查看本机ip地址 ifconfig | grep "inet" 箭头处为ip地址

python3.4 pip安装_python3.4的pycurl pip安装

我正在安装pycurl for python3.4如果我运行“pip install pycurl”,我有:Downloading/unpacking pycurlRunning setup.py (path:C:\Users\kkw\AppData\Local\Temp\pip_build_kkw\pycurl\setup.py) egg_info for package pycurlPlease specify --curl-dir…

html页面整体变灰,css实现网站整体变灰(兼容火狐)

天下兴亡,匹夫有责。有时候我们可能需要将网站整体变灰,实现方法也很简单。将下面代码加入到 wordpress 主题目录下的 style.css 文件中即可:/* 网站变灰代码 */html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filte…

SQL Azure与SQL Server两者的对比介绍,看完你就懂了!

今天给大家SQL Azure与SQL Server两者的对比介绍,看完你就懂了!1、SQL Server介绍SQL Server数据库服务方式是安装在客户提供的服务器内。客户负责硬件、、软件安装、安全性、数据库备份、灾难恢复等相关的运维工作。需要较高的人为运维成本。2、SQL Azu…

如何用HTML语言设计进度条,html5代码如何实现进度条功能?(示例)

本篇文章主要介绍html5代码如何实现进度条功能,希望对大家有所帮助。html5代码实现进度条功能具体代码示例如下:/*实现进度条的功能*/下载进度:/*js代码*/var pgdocument.getElementById(pg);setInterval(function(e){if(pg.value!100) pg.va…

Flink是什么

一:Flink是什么

sublime插件 TortioseSVN

TortioseSVN 可以安装在sublime中,实现svn文件的增加、删除、更新、提交等功能(TortioseSVN用在window系统中,linux安装svn) 安装: 首先在sublime中搜索安装TortioseSVN,(前提是安装了package c…

python脚本 游戏赚金币兑换钱_一种王者荣耀刷金币方法(python脚本)

所用工具环境python3.6.5 和 支持自动鼠标键盘点击等编程的pyautogui功能包windows PC,安卓模拟器bluestacks,安装王者荣耀基本思路王者荣耀有闯关任务模式可以获得金币,任务两三分钟一般就可以完成,支持自动模式,一次…

SQL Server数据库架构与对象相关知识笔记

1、数据库架构简介数据库架构是从SQL Server2005版本之后引入的概念。数据库架构独立于创建它的数据厍用户而存在,每个对象都属于一个数据库架构(对象包括表、视图、存储过程、函数、触发器等)2、 数据库、架构和数据库对象数据库架构是一个独…

html ajax 数据传送,HTML AJAX 简单数据JS

ajax请求var xmlhttp;var data;//Mozilla ,chmore浏览器(将XMLHttpRequest对象作为本地浏览器对象来创建)if(window.XMLHttpRequest){ //Mozilla 浏览器xmlhttp new XMLHttpRequest();}else if(window.ActiveXObject) { //IE浏览器//IE浏览器(将XMLHttpRequest对象作为ActiveX…

转换

1024字节1K 1024*10241M 1024K1M 1024M1G 字

蒙提霍尔悖论(三门问题)终极分析(补充)附完整源码

上一篇文章分析了经典的蒙提霍尔问题,最后的结论是更换选择后有2/3的机会中奖。蒙提霍尔问题到此已经完结,但事实却并非如此。 在蒙提霍尔问题中,主持人事先知道汽车在哪个门后面,并且他一定会选择没有汽车的那扇门。如果我们稍稍…

超融合和服务器关系_超融合与传统服务器区别

超融合与传统服务器的区别1.1概述虽然超融合架构以其为用户带来的巨大价值,已经被越来越广泛地接受,但市场上对超融合仍然有诸多不清晰的概念和疑问,本系列文章将力求对这些概念进行逐一解释。本篇解释大家经常问到和混淆的一个概念&#xff…

电脑技巧:整理电脑键盘上每个键的含义

电脑键盘是把文字信息的控制信息输入电脑的通道,从英文打字机的键盘演变而来的。它最早出现在电脑上的时候,还是一种叫做“电传打字机”的部件。那些陌生的键盘按键都有什么用途? 很多新手不知道键盘上功能键和字母数字键以外的键盘按键有什么用&#x…

html统计表合并单元格的快捷键,合并单元格快捷键,小编教你excel怎么合并单元格快捷键...

合并单元格是我们经常要做的工作,如果有合并单元格的快捷键正是我们想要的,很遗憾,微软并没有直接提供这样一个快捷键,在excel表的运用中,难免会碰到希望将两个单元格合并的时候,那么怎么做呢?下…