解决mariadb grant ERROR 1045 (28000): Access denied for user

下面我们一起来看一篇解决mariadb grant ERROR 1045 (28000): Access denied for user问题,希望文章能够帮助到各位朋友。
 

用mariadb也有一段时间了,常用命令和语法,基本没变。比较复杂一点的,例如replication,也没有发现根mysql有什么不同的地方。

不过,今天真发现有不同的地方了,mariadb的权限管理根mysql不一样,mysql可以创建一个根root账户同等权限的账户,但是mariadb就不行了,写法上也所不同。

1,mariadb  grant授权报错
   
MariaDB [(none)]> grant all privileges on *.* TO tank@'192.168.%' IDENTIFIED BY 'test';  
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 

相同的命令在mysql下,执行是没有任何问题的。
一开始以为是mariadb的root账号和密码有问题,检查后没问题。

2,mariadb与mysql root权限不同

查看了一下,root账户所拥有的权限,mariadb和mysql是不一样的。
   
MariaDB [(none)]> show grants\G;  
*************************** 1. row ***************************  
Grants for root@localhost: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'localhost' WITH GRANT OPTION  
1 row in set (0.00 sec)  
  
ERROR: No query specified  
   
mysql> show grants;  
+---------------------------------------------------------------------+  
| Grants for root@localhost |  
+---------------------------------------------------------------------+  
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |  
+---------------------------------------------------------------------+  
1 row in set (0.00 sec) 

3,mariadb与mysql grant语法不同

具体的讲法以,请参考:https://mariadb.com/kb/en/mariadb/grant/
   
MariaDB [(none)]> grant all on test.* TO tank@'192.168.%' IDENTIFIED BY 'test';  
Query OK, 0 rows affected (0.00 sec)  
  
MariaDB [(none)]> grant select on *.* TO tank@'192.168.%' IDENTIFIED BY 'test';  
Query OK, 0 rows affected (0.00 sec) 

第一条命令,将test库的所有权限都给tank
第二条命令,将所有库和表的select权限给tank
注意:all不能和*.*一起使用的,不然就报错了。

posted @   conanwang  阅读(4979)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示