How to prevent human error in MySQL database _ MySQL

Source: Internet
Author: User
Examples of preventing human error in the MySQL database explain that many developers have encountered misoperations when operating the MySQL database. for example, when updating the database, the where condition is not added to the update statement, this will cause extremely tragic results. This article provides the following details on how to prevent MySQL database misoperation:

1. mysql help

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

After the option-U is added to the mysql command, the mysql program will refuse to execute the UPDATE or DELETE statement without the WHERE or LIMIT keyword.

2. specify-U for logon test

# 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

Tip: you cannot delete it without any conditions. The goal is achieved.

3. create an alias to prevent DBA misoperation

# 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'

Conclusion:After the option-U is added to the mysql command, the mysql program rejects execution when an UPDATE or DELETE statement without the WHERE or LIMIT keyword is sent.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.