有没有办法使用CREATE ROLEMySQL?
可以使用PostgreSQL创建角色,但是当我尝试使用MySQL时,它会返回以下错误消息:
#1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'role famille'附近使用正确的语法
小智 7
我注意到有人声称MySQL没有角色实现,所以我想补充说MySQL 8.0有一个工作角色实现:
例:
CREATE ROLE r1;
GRANT r1 TO myuser@localhost;
GRANT SELECT, INSERT,UPDATE ON db1.* TO r1;
Run Code Online (Sandbox Code Playgroud)
参考:https: //dev.mysql.com/doc/refman/8.0/en/roles.html
您可以在此处下载源代码和经过测试的二进制文件:https: //dev.mysql.com/downloads/mysql/
此时你必须选择"开发版"和MySQL服务器8.0.1
MySQL 5没有ROLES(https://dev.mysql.com/doc/refman/5.7/en/faqs-security.html#faq-mysql-have-builtin-rbac).
如果您正在寻找与MySQL兼容的RDBMS,那就是MariaDB.MariaDB具有MySQL缺乏的基于角色的访问控制,并且是开源的.