Maison > base de données > tutoriel mysql > le corps du texte

MySQL - Comment éviter les erreurs humaines lors du fonctionnement de la base de données MySQL

黄舟
Libérer: 2017-01-21 13:24:14
original
1280 Les gens l'ont consulté

Aujourd'hui, un collègue de mon ancienne entreprise m'a appelé et m'a demandé comment récupérer les données de la base de données que j'avais manipulées par erreur. Son idée initiale était de se connecter à la base de données et de mettre à jour un enregistrement, mais il a oublié d'indiquer où, et une tragédie s'est produite. Aujourd'hui, nous n'allons pas parler de la façon de récupérer les données mal utilisées. Nous allons parler de la façon d'éviter de tels problèmes à la source. C'est la mesure fondamentale pour éviter des problèmes similaires. Très bien. Passons directement au sujet :

1. Description de l'aide MySQL

[root@liuyazhuang151 ~]# mysql --help|grep dummy        
 -U, --i-am-a-dummy Synonym for option --safe-updates, -U.  
i-am-a-dummy      FALSE
Copier après la connexion

Après avoir ajouté l'option -U à la commande mysql, lorsqu'un UPDATE ou DELETE sans le mot clé WHERE ou LIMIT est émis, mysql Le programme refusera de s'exécuter

2. Spécifiez -U login test

[root@liuyazhuang151 ~]# mysql -uroot -proot -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
Copier après la connexion

Astuce : il ne peut pas être supprimé sans ajouter de conditions. L'objectif est atteint.


3. Créez un alias pour empêcher les autres et le DBA de mal fonctionner

[root@liuyazhuang151 ~]# alias mysql='mysql -U'  
[root@liuyazhuang151 ~]# 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  
[root@liuyazhuang151 ~]# echo "alias mysql='mysql -U'" >>/etc/profile  
[root@liuyazhuang151 ~]# . /etc/profile  
[root@liuyazhuang151 ~]# tail -1 /etc/profile  
alias mysql='mysql -U'
Copier après la connexion

4. Conclusion :

dans. MySQL Après avoir ajouté l'option -U à la commande, lorsqu'un UPDATE ou DELETE sans le mot-clé WHERE ou LIMIT est émis, le programme mysql refuse de s'exécuter

Ce qui précède est le contenu de MySQL - comment éviter les erreurs humaines de l'exploitation de la base de données MySQL, et plus encore. Pour le contenu associé, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal