我正在尝试在最初来自 PostgreSQL 的 MariaDB 上设置数据库模式。
MariaDB 中的正确语法是什么:
ALTER DATABASE mydbname OWNER TO someuser
和授予特权类似:
GRANT ALL PRIVILEGES ON DATABASE mydbname TO someotheruser
两者都适用于 PostgreSQL,并且是有效的 SQL-99 语法。 MariaDB(PHPMyAdmin 前端)给我:#1064 - 你的 SQL 语法有错误;
最佳答案
权限通常不是 SQL 标准的一部分,因为每个数据库都有自己的方式。 MySQL 和 MariaDB 没有像 postgres 这样的数据库所有者。他们确实有一个特权系统来允许或拒绝帐户的某些权利。第二个看起来像:
GRANT ALL PRIVILEGES ON database.table TO 'user'@'host' [IDENTIFIED BY 'password']
IDENTIFIED 是可选的。如果你想像大多数人一样授予对所有表的访问权限,你可以使用星号。在特定数据库上设置 GRANT ALL 有效地防止“用户”访问其他模式对象。同样可以通过创建一个 GRANT USAGE ON .. 来完成。
关于mysql - 如何在 MariaDB (MySQL) 中正确设置所有权和权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561218/