Access denied for user ''@'localhost' to database 'mysql'问题

MySQL : Access denied for user ''@'localhost' to database 'mysql'问题看点。
原创starmyao 最后发布于2018-08-24 21:10:23 阅读数 7880 收藏
展开

问题描述:
    MySQL命令行,登陆root账户的时候,密码为不为空,但是执行‘use mysql;’命令的时候,总是提示:‘Access denied for user ”@’localhost’ to database ‘mysql’ ’。
   仔细看错误提示Access denied for user ''@’localhost’ to database ‘mysql’,意思就是:拒绝user为 ” 的账户登陆,就用空密码登录为匿名用户,没有权限,自己的密码又忘记了。没办法就只有该自己的密码。

问题一解决root密码的办法

MySQL安装目录下找到 my.ini文件,编辑, 找到[mysqlId],在之后添skip-grant-tables(跳过授权表),此时重启 MySQL服务,打开命令行,就可以使用空密码登陆了。(记得重启服务)

1.   mysql -u root -p
2.   //输入密码,直接使用回车,用空密码登陆
3.    mysql>use mysql;
4.   mysql>update user set password=PASSWORD('这里输入你的新密码要用单引号') where user='root';
5.  mysql> flush privileges;

2.此时,重新启动MySQL服务,然后重新打开控制台。 
3.记得把 my.ini 文件中最后添加的那行配置skip-grant-tables给删除了,删除后,要重启服务。使用新密码登陆。

问题二解决‘localhost’的办法
 在以上的方法实施后,还是拒绝user为 ” 的账户登陆操作。这是什么原因了?在网上搜n久也没有看出所以然。
又前面的操作,跳过授权表,空密码进入mysql,查看user表。
 
 user | password                                  | host                                       |
+------+-------------------------------------------------+-----------------------------+
| root | *8**************************************D | %                                |
| root | *8**************************************D | localhost.localdomain |
| root | *8**************************************D | 127.0.0.1                     |
| root | *8**************************************D | ::1                                |
|      |                                                                | localhost                     |
|      |                                                                | localhost.localdomain |
| DCH  | *8**************************************D | %                               |
| DCH  | *8**************************************D | localhost                    |
 
 发现我的root用户原来没有localhost权限?在mysql -uroot -p -h127.0.0.1登录ok!
 那就是没有给“localhost”授权。  
 我记得授权时使用的'%',为什么没有“localhost”呢?这里用%则代表了所有的host都能远程访问该mysql。
 但是查询mysql官方文档说明后,‘%’并不包括localhost!为什么这样呢,害人不浅,快快对localhost和%都进行了赋权。
 grant all privileges on *.* to root@"localhost" identified by "password"; 
 flush privileges;
登录成功!

解决Access denied for user ''@'localhost' to database 'mysql'问题
原创你好龙卷风!!! 最后发布于2018-10-15 17:50:20 阅读数 6093 收藏
展开
在修改mysql的root用户密码后,再登陆,提示如标题的错误,找了一番答案之后,终于解决,步骤如下:

1.停掉mysql:      service mysqld stop

2.使用不验证的状态登陆mysql:

mysqld_safe --skip-grant-tables &   //后台运行

启动mysql:   service mysqld start

3.进入mysql:    mysql -u root

4.use mysql;

5. update user set password=password("new_pass") where user="root";// 'new_pass' 这里改为你要设置的密码

或者

5.delete from user where user='';   删除空用户

6,flush privileges;

7,quit

8.service mysqld restart

9.重新进入 mysql -utoot -p

然后输入密码就会发现问题已解决

Access denied for user ''@'localhost' to database 'mysql'问题的更多相关文章

  1. 一看便知linux下mysql报错ERROR 1044: Access denied for user: '@localhost' to database 'mysql'

    错误信息:ERROR 1044: Access denied for user: '@localhost' to database 'mysql' linux下解决方案: mysql> use ...

  2. Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题

    http://361324767.blog.163.com/blog/static/11490252520124454042468/ 首先我想说一句话: 我极度鄙视国内搞IT的人,简直无语,同样是解决 ...

  3. ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'.前两天也出现过这个问题,网上找了一个比 ...

  4. MySQL:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'. 原因是:mysql数据库的user表里,存 ...

  5. Access denied for user ''@'localhost' to database 'mysql'

    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'   在centos下安装好了mysql,用r ...

  6. 一秒 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql 问题

    提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'.前两天也出现过这个问题,网上找了一个比 ...

  7. centos mysql数据库问题:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'(转)

    问题描述: 安装好数据库MySQL,进入mysql,设置号密码后,退出的时候,利用密码无法进入,直接回车后可进入,无法看到数据库mysql,use mysql返回错误:ERROR 1044 (4200 ...

  8. 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    原文链接:https://blog.csdn.net/sea_snow/article/details/82498791 感谢原作者大大  提示:ERROR 1044 (42000): Access ...

  9. 【转载】ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    转载出处 在网上下载了一个免安装包的MySQL,准备自己create database jhp_test,使用的时候出现报错,如下: ERROR (): Access denied for user ...

随机推荐

  1. 一周一个中间件-hbase

    前言 hbase是大数据的生态的一部分,是高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.介于nosql和RDBMS之间.主要存储非结构化和半结构化的松散数据. 海量数据存储 快速随机访问 大 ...

  2. golang 自学系列(四)——debug for vscode

    golang 自学系列(四)--(调试)VSCode For Debug 这里如何装 vscode 我就不说了 这里如何在 vscode 正常写代码我也不说了 在能正常用 vscode 写 go 语言 ...

  3. 第9.9节 Python文件随机读写定位操作方法seek

    类似于C语言,Python也提供了文件位置定位的操作方法seek. 一. 语法 seek(offset, whence=SEEK_SET) 语法释义: 1)offset :将文件当前操作位置移动偏移量 ...

  4. Xray高级版白嫖破解指南

    啊,阿Sir,免费的还想白嫖?? 好啦好啦不开玩笑 Xray是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器,支持主动.被动多种扫描方式,自备盲打平台.可以灵活定义 POC,功能丰富,调用简单,支持 ...

  5. MySQL Docker容器实例创建并进入MySQL命令行

    首先需要明白的一点是: docker镜像是一个模版,docker容器是一个实例,它可以被启动与关闭. 我们需要先有MySQL的docker镜像,使用命令: docker pull mysql 拉取最新 ...

  6. 74CMS3.0储存型XSS漏洞代码审计

    发现一个总结了乌云以前代码审计案例的宝藏网站:https://php.mengsec.com/ 希望自己能成为那个认真复现和学习前辈们思路的那个人,然后准备慢慢开始审计一些新的小型cms了 骑士cms ...

  7. 测试window安装的客户端

    1.win10 安装了客户端,测试一下,

  8. C#实例化对象的三种方式及性能对比

    前言 做项目过程中有个需求要实例化两万个对象并添加到List中,这个过程大概需要1min才能加载完(传参较多),于是开启了代码优化之旅,再此记录. 首先想到的是可能实例化比较耗时,于是开始对每种实例化 ...

  9. day013|python之模块02&目录01

    1 from...import 1.1 概念 1.1.1 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...

  10. STL——容器(Map & multimap)的排序与遍历

    1. Map & multimap 的排序与遍历 map<T1,T2,less<T1> >  mapA; //该容器是按键的升序方式排列元素.如果未指定less< ...