用mariadb也有一段时间了,常用命令和语法,基本没变。比较复杂一点的,例如replication,也没有发现根MysqL有什么不同的地方。
不过,今天真发现有不同的地方了,mariadb的权限管理根MysqL不一样,MysqL可以创建一个根root账户同等权限的账户,但是mariadb就不行了,写法上也所不同。
1,mariadb grant授权报错
grant all privileges on *.* TO tank@'192.168.%' IDENTIFIED BY 'test';
相同的命令在MysqL下,执行是没有任何问题的。
一开始以为是mariadb的root账号和密码有问题,检查后没问题。
2,mariadb与MysqL root权限不同
查看了一下,root账户所拥有的权限,mariadb和MysqL是不一样的。 show grants\G;
ERROR: No query specified
show grants;
3,mariadb与MysqL grant语法不同
具体的讲法以,请参考:https://mariadb.com/kb/en/mariadb/grant/ grant all on test.* TO tank@'192.168.%' IDENTIFIED BY 'test';
grant select on *.* TO tank@'192.168.%' IDENTIFIED BY 'test';
第一条命令,将test库的所有权限都给tank
第二条命令,将所有库和表的select权限给tank
注意:all不能和*.*一起使用的,不然就报错了。