几年前,我上过一堂MySQL课,讲师让我们在表上创建具有不同权限的单独用户,作为防范SQL注入等攻击的最后一道防线。用户基本上是这样创建的:
CREATE USER 'read'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT ON * TO 'read'@'localhost';
CREATE USER 'write'@'localhost' IDENTIFIED BY 'password';
GRANT SE
如何在Azure PostgreSQL中创建只读用户?
在本地postgres安装中,我可以运行以下命令来创建只读用户:
CREATE USER spqr1 WITH ENCRYPTED PASSWORD 'password';
REVOKE CONNECT ON DATABASE postgres FROM PUBLIC;
CREATE DATABASE mydb;
REVOKE CONNECT ON DATABASE mydb FROM PUBLIC;
GRANT CONNECT ON DATABASE mydb TO spqr1;
\connect
我正在和其他几个合作者一起做一些数据项目。大多数人都是SQL的新手,所以我询问是否可以将“原始”数据表设置为只读,这样它们就不会被意外更改,我该怎么做呢?目前所有用户都有GRANT SELECT ON mydb.* TO 'user'@'%'权限,但我需要更开放一点。
有一个关于制作的问题,但它似乎会拒绝用户制作其他表的能力;或者即使他们这样做了,他们也无法对这些表做任何事情。在NTFS中似乎没有(或者我找不到)覆盖allow/ GRANT的'deny‘设置;根据我所读到的REVOKE只是与先前的GRANT相反,你不能“嵌套”它们。
我在考虑创建一个单独
ms-access正在连接到本地mysql数据库
下面的代码返回一个错误:
Public Function run_sql(strSql As String)
On Error GoTo lblError
CurrentDb.Execute strSql, dbFailOnError
lblExit:
Exit Function
lblError:
MsgBox Err.Number & ": " & Err.Description
Resume lblExit
End Function
strSql = "DELETE FROM
我想在PostgreSQL中创建一个只能从特定数据库中进行选择的用户。在MySQL中,命令为:
GRANT SELECT ON mydb.* TO 'xxx'@'%' IDENTIFIED BY 'yyy';
PostgreSQL中的等效命令或一系列命令是什么?
我试过..。
postgres=# CREATE ROLE xxx LOGIN PASSWORD 'yyy';
postgres=# GRANT SELECT ON DATABASE mydb TO xxx;
但是,您在数据库上唯一可以授予的权限似乎是CREATE、CON