MySQL数据库防止人为误操作的实例讲解

 更新时间:2014年06月25日 09:53:01   投稿:shichen2014  
这篇文章主要介绍了MySQL数据库防止人为误操作的方法,需要的朋友可以参考下

有不少开发人员在操作MySQL数据库的时候都遇到过误操作的情况,例如更新数据库的时候update语句忘记加上where条件,就会造成极为悲剧的结果。本文就针对防止MySQL数据库误操作的方法做出如下详解:

1、mysql帮助说明

# mysql --help|grep dummy  
 -U, --i-am-a-dummy Synonym for option --safe-updates, -U. 
i-am-a-dummy  FALSE

在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,mysql程序就会拒绝执行

2、指定-U登录测试

# mysql -uroot -poldboy123 -S /data/3306/mysql.sock -U 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 14 
Server version: 5.5.32-log MySQL Community Server (GPL) 
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 
Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
mysql> delete from oldboy.student; 
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 
mysql> quit 
Bye

提示:此处不加条件无法删除,目的达到。

3、做成别名防止DBA误操作

# alias mysql='mysql -U' 
# mysql -uroot -poldboy123 -S /data/3306/mysql.sock 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 15 
Server version: 5.5.32-log MySQL Community Server (GPL) 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 
mysql> delete from oldboy.student; 
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column 
mysql> delete from oldboy.student where Sno=5; 
Query OK, 1 row affected (0.02 sec) 
mysql> quit 
Bye 
# echo "alias mysql='mysql -U'" >>/etc/profile 
# . /etc/profile 
# tail -1 /etc/profile 
alias mysql='mysql -U'

结论:在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,mysql程序拒绝执行

相关文章

  • Mysql数据库的一些命令

    Mysql数据库的一些命令

    如果你习惯用 windows 的数据库,也就是在 图形界面上操作数据库的话,那么当你在命令上 操作 mysql 将会感到陌生,其实只要你掌握了一些基本命令,还有经常使用,熟练起来了, 将会相当方便,而且很快速
    2013-11-11
  • 根据status信息对MySQL服务器进行优化

    根据status信息对MySQL服务器进行优化

    网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。
    2011-09-09
  • MySql 中聚合函数增加条件表达式的方法

    MySql 中聚合函数增加条件表达式的方法

    这篇文章主要介绍了MySql 中聚合函数增加条件表达式的方法,需要的朋友可以参考下
    2018-06-06
  • mysql免安装没有任何root权限

    mysql免安装没有任何root权限

    这篇文章主要介绍了mysql免安装没有任何root权限的安装与配置教程,本文图文并茂给大家介绍的非常详细,需要的朋友参考下
    2017-01-01
  • 在MySQL中奏响数据库操作的乐章(推荐)

    在MySQL中奏响数据库操作的乐章(推荐)

    本文详细介绍了如何在MySQL中进行数据库操作,包括创建、删除、修改数据库等,以及如何使用字符集和校验规则,以及备份和恢复数据库的方法,同时,还讨论了如何查看和修改数据库的结构和数据,总的来说,本文为读者提供了一份全面的MySQL数据库操作指南
    2024-10-10
  • mysql判断字符串是否存在几种常见方式

    mysql判断字符串是否存在几种常见方式

    写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,下面这篇文章主要给大家介绍了关于mysql判断字符串是否存在的几种常见方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 解决修改mysql的data_dir所引发的错误问题

    解决修改mysql的data_dir所引发的错误问题

    本文给大家分享解决修改mysql的data_dir所引发的错误问题,非常不错具有参考借鉴价值,需要的朋友参考下吧
    2017-04-04
  • 解析MySQL的information_schema数据库

    解析MySQL的information_schema数据库

    本篇文章是对MySQL的information_schema数据库进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 一文解析MySQL的MVCC实现原理

    一文解析MySQL的MVCC实现原理

    这篇文章主要介绍了MySQL的MVCC实现原理,MVCC全称是Multi-Version Concurrency Control是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突
    2022-08-08
  • mysql通过binlog定时备份数据库与恢复的方法

    mysql通过binlog定时备份数据库与恢复的方法

    这篇文章主要介绍了mysql通过binlog定时备份数据库与恢复的方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-12-12

最新评论