MySQL - 为每个人启用安全更新

时间:2014-11-03 16:57:50

标签: mysql phpmyadmin database-administration

我正在教一个数据库课,我让我的学生通过phpMyAdmin连接MySQL数据库来练习查询等......

我们现在正在学习SQL UPDATE语句,我想确保有人在没有WHERE子句的情况下发出UPDATE,因此更新了整个桌子......

我假设sql_safe_updates默认设置为1,但在我用于课程的基于云的服务器上似乎并非如此。我似乎找不到任何记录如何为MySQL实例中的所有用户设置sql_safe_updates的文档。

所以,我正在寻找是否有任何这些选项可用并且适用于这种情况:

  1. 我可以启动MySQL,sql_safe_updates设置为" 1"通过配置文件或其他方法?
  2. 当用户通过phpMyAdmin连接数据库时,我可以在运行SET sql_safe_updates=1的phpMyAdmin中创建启动脚本吗?
  3. 任何帮助都会得到真正的赞赏,我真的不认为这会带来这样的挑战!

2 个答案:

答案 0 :(得分:0)

您可以在设置中进行以太转动或使用

SET SQL_SAFE_UPDATES=0;
your statement; 
SET SQL_SAFE_UPDATES=1;

或反过来。

SET SQL_SAFE_UPDATES=1;
your statement; 
SET SQL_SAFE_UPDATES=0;

不要忘记在每个陈述结尾处使用分号。

如果使用MYSQL工作台 编辑 - >偏好 - > SQL编辑器 - > SQL编辑器 删除没有WHERE子句的禁止UPDATE和DELETE语句(安全更新)

希望有所帮助

答案 1 :(得分:0)

我终于找到了如何在phpMyAdmin中设置更新模式 -

  1. 使用管理员帐户登录phpMyAdmin
  2. 转到“变量”标签。
  3. 列出了系统的所有变量。搜索“安全”
  4. 这应该找到“sql safe updates”变量,然后您可以编辑并设置为“On”
  5. 执行此操作后,您将处于安全更新模式,这会阻止UPDATESDELETES没有WHERE条款。

    设置似乎在登录尝试中持续存在。