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

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 [email protected]"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'问题

原文地址:https://www.cnblogs.com/xianz666/p/12562783.html

时间: 2024-08-28 14:49:38

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

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

在centos下安装好的mysql,用root帐号连上mysql,查看数据库结果只有information_schema库,我原来的库和mysql库都不见了,然后执行use mysql提示错误,如下: mysql> use mysql; ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 提示:ERROR 1044 (42000): Access denied for user ''@'loc

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

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 刚在服务器上装上mysql,发现以root加密码的方式总是登录不了,而直接输入mysql则直接就可以登录了.或者以mysql –u root方式可以登录,但是实习上登录上去也是一个空用户(''@'localhost'),不是root用户,看不了其他数据库. 干货,删除空用户方法 1.关闭mysql service mysqld stop 或者

Access denied for user ''@'localhost' to database 'mysql'。网上找了一些方法,终于搞定了。

转载:http://blog.csdn.net/lilian129/article/details/9297881 这几天用空密码登录mysql后,然后修改mysql默认密码,使用mysql表出现过这个问题,提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'.网上找了一些方法,终于搞定了. 我用的是xampp集成的mysql,之前空密码能登进去phpmyadmin,但怎么也进不去phpm

一看便知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 mysql ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'mysql' mysql> exit Bye [[email protected] ~]# service mysqld stop如果该命令不

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

在修改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.delete from user where us

centos修改mysql密码或者进入mysql后解决Access denied for user ''@'localhost' to database 'mysql错误

原因是MySQL的密码有问题 用mysql匿名用户可以进入数据库,但是看不见mysql数据库. 解决办法:具体操作步骤:关闭mysql:# service mysqld stop然后:# mysqld_safe --skip-grant-tables开启另一个终端并启动mysql:# service mysqld startmysql -u rootmysql> use mysqlmysql> UPDATE user SET Password=PASSWORD('root') WHERE us

遇到错误ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql',的解决办法

新装的mysql,访问mysql数据库是遇到问题:ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql', [[email protected] mysql-5.1.61]# mysql -u root -p Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection

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

http://361324767.blog.163.com/blog/static/11490252520124454042468/ 首先我想说一句话: 我极度鄙视国内搞IT的人,简直无语,同样是解决这个问题,几乎一模一样,都是抄来的.更有甚者,抛出的错误是:Access denied for user'root'@'localhost' to database 'mysql',竟然也把别人的解决方法照搬过来,还恬不知耻的说:问题解决了,我估计都没有真正去操作过. 下面是本人在参考别人的基础之上

解决Access denied for user ''@'localhost' to database 'mysql'

在centos下安装好了mysql,用root帐号连上mysql,然后创建一个数据库,提示下图错误: 提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'.网上找了一个比较流行的方法(见方法一),搞定了.今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误

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

原文链接:https://blog.csdn.net/sea_snow/article/details/82498791 感谢原作者大大  提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'.是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,实际上是匿名登录的,通过错误提示里的''@'localhost'可以看出来,于是解决办法见方法二. 方法一:(适用于密码不正确的