MySQL 的权限管理用起来其实还挺灵活的,尤其是GRANT
命令,用好了能省不少事。不管是想给开发分配读写权限,还是让 DBA 拥有完全控制权,都能通过这条命令搞定。
权限类型丰富,像SELECT
、INSERT
这种基础操作权限,配开发用正好。而像CREATE
、DROP
这些结构权限,就适合数据库结构的维护工作。配合ON
和TO
还能精确指定授权范围和用户,灵活性高。
蛮多时候,会用GRANT ALL PRIVILEGES
来一把梭,但更推荐按需分配,权限给多了也不安全。是公网访问,最好限制下host
字段,别直接写'%'
,容易出事。
还有个小技巧,想让某个用户能继续授权给别人,就加上WITH GRANT OPTION
。不过也要注意,这种传递权限容易乱,控制不好就变成权限“失控现场”。
如果你还不熟 GRANT 的用法,不妨对着下面几个例子多试试,像:
GRANT SELECT, INSERT ON testdb.* TO 'dev'@'192.168.1.%';
配合SHOW GRANTS
查看权限,REVOKE
撤销权限,也方便。嗯,权限管理虽然是个细活儿,但掌握好了,能帮你把数据库搞得又安全又高效。