zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

mysqlDatabase Error for to &# 39 user
2023-09-14 08:59:45 时间

在centos下安装好了mysql,用root帐号连上mysql,然后创建一个数据库,提示下图错误:

提示:ERROR 1044 (42000): Access denied for user @localhost to database mysql。网上找了一个比较流行的方法(见方法一),搞定了。今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的@localhost可以看出来,于是解决办法见方法二。

方法一:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql UPDATE user SET Password=PASSWORD(newpassword) where USER=root;
   mysql FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql \q

方法二:
1.关闭mysql
   # service mysqld stop
2.屏蔽权限
   # mysqld_safe --skip-grant-table
   屏幕出现: Starting demo from .....
3.新开起一个终端输入
   # mysql -u root mysql
   mysql delete from user where USER=;
   mysql FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
   mysql \q


MySQL:Access denied for user root @ localhost mysql数据库对权限校验也是特别的严格的,毕竟数据安全是很重要的,那么,像我这种小白用户就会遇到很多像权限不足,或者无法连接数据库的尴尬境遇,那么,假如遇到题中所述的问题如何解决呢?下面请看小白的解决方案!
MySQL 8.0 Access denied for user root @ localhost (using password: YES) 问题解决 在网上看到有许多此类问题的解决办法,但因版本的不一致导致同一种问题有人可以解决有人不可以解决。在这我给出一种针对当下最新8.0版本的解决办法,本人亲测可行。当然此方法也可用于忘记密码后重置密码。方法步骤:一、启动服务器后,运行 mysqld --console --skip-grant-tabl.
mysql_异常_01_Access denied for user root @ 192.168.1.13 (using password: YES) 一、异常现象 使用navicat premuim 连接 虚拟机mysql数据库时 ,抛出如下错误: Access denied for user root @ 192.168.1.13 (using password: YES)     二、异常原因  这是因为虽然用户名和密码正确,但是却没有在其他ip地址上访问的权限。
Bringing MySQL Compatibility to HBase using Database Virtualization 立即下载