gti*_*333 24 mysql database-connection database-permissions
这个问题来自好奇心.我搜索谷歌这个但没有得到线索.
假设用户具有对MySQL数据库的完全读/写访问权限.我想知道,是否有任何方式(连接字符串中的某些参数)以只读模式通过相同的用户名和密码连接到数据库?
我想要这样做 而不更改此用户的权限,因为同一用户在其他时间也可能需要写入权限.这将有助于(如果可能)防止意外修改数据库.
hgu*_*yan 16
你的问题的答案是
不,没有办法在连接字符串中指定只读访问权限.
替代方案是
1.创建具有读取权限的sql用户
2.使用权限检查逻辑创建视图或存储过程
MS SQL 仅授予视图的权限
MySQL 授予仅查看mysql视图的用户权限
3.在业务逻辑中实现权限层
祝好运!
根据您的用例和您拥有的控制权,您可以在连接后立即调用“设置事务只读”,或者在连接时使用 --init-command 参数。这适用于我们拥有的测试用例,
这是设置的事务文档:https : //dev.mysql.com/doc/refman/5.7/en/set-transaction.html,同样,如果有区别,您也可以将其设置为会话变量https://dev .mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_transaction_read_only。
| 归档时间: |
|
| 查看次数: |
18723 次 |
| 最近记录: |