开发者社区> 技术小牛人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

error 1044 (42000):access denied for user ''@'localhost' to database 'mysql'

简介:
+关注继续查看

重新安装mariaDB数据库时,出现安装权限问题,中止安装发现居然能够登陆mysql,但是登陆时可以不填密码,操作数据库时会报错:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。我是远程登录数据库的,网上找了一些方法,终于搞定了。
 
后来解决成功,发现是因为mariaDB数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。解决方法如下:
 
在my.cnf的[mysqld]字段加入: 

[delphi] view plain copy

  1. skip-grant-tables  


重启mysql服务,这时的mariaDB不需要密码即可登录数据库

然后进入mariaDB

[sql] view plain copy

  1. mysql>use mysql;  

  2. mysql>delete from user where user='';   

  3. mysql>flush privileges;  


删除掉匿名用户,即可以root方式登陆数据库。

运行之后最后去掉my.ini中的skip-grant-tables,重启数据库(systemctl restart mariadb.service)即可。

版权声明:本文为博主原创文章,转载请注明来源。

本文转自   tianshuai369   51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1967080

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL:Access denied for user 'root'@'localhost'
mysql数据库对权限校验也是特别的严格的,毕竟数据安全是很重要的,那么,像我这种小白用户就会遇到很多像权限不足,或者无法连接数据库的尴尬境遇,那么,假如遇到题中所述的问题如何解决呢?下面请看小白的解决方案!
0 0
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。前两天也出现过这个问题,网上找了一个比较流行的方法(见方法一),搞定了。
655 0
mysql ERROR 1045 (28000): Access denied for user解决方法
  问题重现(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)   编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入  skip-grant-tables保存退出后重启mysql 1.点击“开始”->“运行”(快捷键Win+R)。
624 0
mysql报错 Access denied for user 'root'@'localhost' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)<br><span style="white-space:pre"></span>at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)<br>
1467 0
7、mysql创建数据库失败,提示Access denied for user ''@'localhost'
今天在连接自己电脑上的mysql时,提示“Access denied for user ''@'localhost' to database”。 初步判断是用户不对,因为localhost前面都没有用户名,而我是以特定用户登录的,是肯定有用户名的。
609 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
MySQL Replication: Latest Developments
立即下载
Bringing MySQL Compatibility to HBase using Database Virtualization
立即下载
低代码开发师(初级)实战教程
立即下载