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

(0)

相关推荐

  • 在Ubuntu系统中安装MariaDB数据库的教程

    MariaDB是一个开源数据库且100%与MySQL兼容,目标是替代MySQL数据库. MariaDB的背景 : 2008年,MySQL被后来被Oracle在2010年收购的Sun Microsystems收购了. 最初被Sun公司的收购由于符合项目的需要而受到MySQL社区的欢呼,但是这种情绪并没有持续太久,接下来被Oracle的收购,不幸期望远远低于预期.许多MySql的开发者离开了Sun和Oracle公司开始新的项目.在他们中间就有MySQL的创建者以及项目长期技术带头人之一的Michae

  • 浅谈MySQL和mariadb区别

    MariaDB是MySQL源代码的一个分支,在意识到Oracle会对MySQL许可做什么后分离了出来(MySQL先后被Sun.Oracle收购).除了作为一个Mysql的"向下替代品",MariaDB包括的一些新特性使它优于MySQL. 这两个数据库究竟有什么本质的区别,我看mariadb文件夹BIN中还是mysql*.exe,除了MySQL会被ORACLE闭源外,而mariadb则开源,他俩之间到底还有什么本质区别没有? 区别一: MariaDB不仅仅是Mysql的一个替代品,它的主

  • centos 7安装mysql5.5和安装 mariadb使用的命令

    以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没用集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤. #列出所有被安装的rpm package rpm -qa | grep mariadb #卸载 rpm -e mari

  • Mysql/MariaDB启动时处于进度条状态导致启动失败的原因及解决办法

    今天打开网站突然发现网站无法打开,后来通过SSH登陆服务器发现MARIADB数据库没有启动成功,再次启动还是无法成功启动,一直处于启动进度条,进度条结束后提示ERROR.查看日志出现以下错误: InnoDB: Unable to lock ./ibdata1, error: 11 后经调试发现是因为MariaDB数据库所在分区已经满了,造成无法启动. 只有将MariaDB数据库存放数据目录移动到另外一个磁盘份额比较大的分区或者将当前分配删除一些不必要的文件. 移动办法: 1.停掉mysql服务器

  • 详解Centos 使用YUM安装MariaDB

    1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: 复制代码 代码如下: [azureuser@mono etc]$ cd /etc/yum.repos.d [azureuser@mono yum.repos.d]$ vi MariaDB.repo # MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08 UTC # http://mariadb.org/mariadb/reposito

  • centos中找回MariaDB数据库root用户权限的方法

    前几天在网上闲逛,看到一文章,说MySQL自被Orcle收入囊中,有弃MySQL社区开源之意,且把MySQL分成社区与企业版.我日他先人板板,都是钱TM惹祸.MySQL创始人另起人马,创MariaDB,据传以其次女名名之.一时手溅,在centos上废MySQL立MariaDB. 昨日休息,无事可做,入夜更甚,加之天热,夜半未眠.开机入centos,查前日所装MariaDB,root竟无密码,顷password之.然细查之下,user表中root名目竟有五条之多,遂只留一host为%,余皆删之.后

  • CentOS安装和设置MariaDB的教程

    上篇文章给大家介绍了 Centos 使用YUM安装MariaDB,相关资料可以参考下此文. 说明: 首先必须能链接外网. 如果不能直接访问,那也可以设置代理,请参考: 在内网机器上设置yum代理 使用 yum 的权限要求是 root 用户,如果你不是,那么可以需要 在 shell命令之前加上 sudo, 或者 su root  切换到 super 管理员进行操作. 并可能需要输入密码. 1. 添加 yum 数据源; 建议命名为 MariaDB.repo 类似的名字: 复制代码 代码如下: cd

  • MariaDB(Mysql分支)my.cnf配置文件中文注释版

    复制代码 代码如下: # /usr/share/mysql/my-huge.cnf # MariaDB 配置文件 示例模板(huge,巨型).## 本文件适用于专用数据库服务器, 内存为 1G-2G# 机器上主要只运行 MariaDB的大型系统 ,## MariaDB 程序会根据运行的操作系统平台查找一系列的配置文件,# 你可以将此模板配置文件拷贝到对应的位置(并重命名),# 要查看有哪些配置文件会被读取到,执行:# 'my_print_defaults --help' 并查看# Default

  • MySQL分支选择参考:Percona还是MariaDB

    在MySQL被Oracle收购以后,越来越多的人对于MySQL的前景表示了担忧,对于开源的MySQL,或多或少对于Oracle自家的数据库产品产生冲击,这个开源免费的MySQL 对于Oracle更多的是包袱而不是资产.比如淘宝就从Oracle转成了MySQL,一些大型互联网公司也在推行去IOE(I:IBM,O:Oracle,E:EMC),甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险. Percona 在介绍 Percona 之前,首要要介绍的是

  • Linux下将数据库从MySQL迁移到MariaDB的基础操作教程

    自从2012年来,维基百科已经开始从MySQL迁移到MariaDB的过程,是维基媒体数据库架构变革的一个重大里程碑,将英文和德文版的维基百科数据库Wikidata移植到了MariaDB 5.5版本上. 在过去几年中,维基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作为我们的产品数据库,构建版本号是r3753.我们很高兴该产品的性能表现,Facebook 有着全世界最棒的数据库工程师,他们为 MySQL 生态系统带去了很多改进. 现在 MariaDB 的优化器的增强.Perc

随机推荐