• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MariaDB中1045权限错误导致拒绝用户访问的错误解决方法

    用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不能和*.*一起使用的,不然就报错了。

    您可能感兴趣的文章:
    • Linux下将数据库从MySQL迁移到MariaDB的基础操作教程
    • CentOS安装和设置MariaDB的教程
    • 详解Centos 使用YUM安装MariaDB
    • centos 7安装mysql5.5和安装 mariadb使用的命令
    • 浅谈MySQL和mariadb区别
    • Mysql/MariaDB启动时处于进度条状态导致启动失败的原因及解决办法
    • 在Ubuntu系统中安装MariaDB数据库的教程
    • MySQL分支选择参考:Percona还是MariaDB
    • centos中找回MariaDB数据库root用户权限的方法
    • MariaDB(Mysql分支)my.cnf配置文件中文注释版
    上一篇:关于mongoose连接mongodb重复访问报错的解决办法
    下一篇:MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MariaDB中1045权限错误导致拒绝用户访问的错误解决方法 MariaDB,中,1045,权限,错误,