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. Django----View.py

    ·首先先下载安装包· pip install djangorestframework==3.11.1 pip install django-filter==2.3.0 # 过滤器 pip instal ...

  2. 20200311_解决Could not resolve host: mirrorlist.centos.org

    [root@localhost ~]# yum -y install wget 已加载插件:fastestmirror Determining fastest mirrors Could not re ...

  3. Java读书计划和分享

    写在前面 为什么要写这些呢? 接触java已经有三年多了,感触颇多,比如从0到60,只要勤实践.勤思考,很快就可以入门,从60分到满分极致,则单单不是凭借工作年限或者什么就可以.曾经也有过一段迷茫时期 ...

  4. 第8.24节 使用__subclasses__查看类的直接子类

    在<第8.9节 Python类中内置的__bases__属性>中介绍了__bases__这个类的特殊变量可以查看类的直接父类,而__subclasses__() 方法的使用则与__base ...

  5. 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解

    老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...

  6. sql绕过2

    0x00 sql注入理解 SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库. SQL是结构化查询语言的简称,它是访问数据库的事实标准.目前,大多数Web应用都使用SQL数据库来存放应用程 ...

  7. Java基础学习之数据类型、基础语法与数组(3)

    目录 1.数据类型 1.1.基本数据类型 1.2.引用数据类型 1.3.自动装箱与拆箱 2.基础语法 2.1.标识符 2.2.修饰符 2.2.1.访问控制修饰符 2.2.2.非访问控制修饰符 2.3. ...

  8. 哀悼疫情,全站灰色如何实现,CSS滤镜一行代码实现

    庚子清明,以国家之名哀悼,以国家之名哀悼在新冠肺炎疫情中牺牲的烈士和逝世的同胞! 向抗疫英雄致敬! 今日打开各样的app,各大电商,爱奇艺都是灰色的 这里我也一直很好奇该功能,前端如何实现,了解过后发 ...

  9. AcWing 361. 观光奶牛

    01规划 设答案为 \(ans\). 二分答案,设当前二分值为 \(mid\). 设一个环 \(S\) 的边权为 \(t_1, t_2, t_3...\),点权为 \(f_1, f_2, f_3... ...

  10. 数据结构—— Trie (前缀树)

    实现一个 Trie (前缀树),包含 插入, 查询, 和 查询前缀这三个操作. Trie trie = new Trie(); trie.insert("apple"); trie ...