如何设置mysql 指定数据库为只读

如何设置mysql 指定数据库为只读,第1张

SELECT

CONCAT( 'UPDATE ', table_name, ' SET flag = 0'AS `准备要执行的sql`

FROM

information_schema.tables

WHERE

table_schema = 'database 的名字'

查询完毕以后,复制出查询结果, 粘贴一下, 执行。

是权限问题,需要修改此登录当前数据库的用户对表的读写权限。语句修改方法:mysql>GRANT INSERT, UPDATE, DELETE ON `yourdb`.ng_sessions_data TO 'youruser'@'%'可参考的工具(MySQL Administrator ): http://www.mysqlpub.com/viewthread.php?tid=30&extra=page%3D1

如果是sqlserver数据库,其实对于某列上不存在不让修改的说法,sqlserver数据库数据控制原理是角色控制,也就是说我们对于某一个角色去下定义,让隶属于这个角色的用户不能够更新数据。或者在某个角色的基础上不分配或是回收对某一列的权限!如果是这种情况,用一个能修改的角度登陆才行。

还有另一种就是所谓的触发器,一旦发现你修改,立即返回原数据,这样你也是永远修改不了的!这时你要找到那个触发器,将触发器删除后再进行修改,然后加回触发器即可!

但这两种情况都是对某一列下的定义(我们称为锁定粒度为列)不可能是某一个单元格!

如果你是站在erp管理的基础上不让你修改那是十分正常的!

在企业管理器中使用图形方式(如二楼给的图)还是语句,则没有任何的区别!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10834933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存