Heim  >  Artikel  >  Datenbank  >  MySQL – So verhindern Sie menschliche Fehler beim Betrieb der MySQL-Datenbank

MySQL – So verhindern Sie menschliche Fehler beim Betrieb der MySQL-Datenbank

黄舟
黄舟Original
2017-01-21 13:24:141274Durchsuche

Heute rief mich ein Kollege aus meiner früheren Firma an und fragte mich, wie ich die Datenbankdaten wiederherstellen könne, die ich versehentlich manipuliert hatte. Seine ursprüngliche Idee bestand darin, sich bei der Datenbank anzumelden und einen Datensatz zu aktualisieren, aber er vergaß, den Ort anzugeben, und es passierte eine Tragödie. Heute werden wir nicht darüber sprechen, wie man missbrauchte Daten wiederherstellt. Wir werden darüber sprechen, wie man solche Probleme von der Quelle aus vermeidet. In Ordnung. Gehen wir direkt zum Thema:

1. MySQL-Hilfebeschreibung

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

Nach dem Hinzufügen der Option -U zum MySQL-Befehl, wenn ein UPDATE oder DELETE ohne das Schlüsselwort WHERE oder LIMIT vorliegt ausgegeben, mysql Das Programm verweigert die Ausführung

2. Geben Sie -U login test an

[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

Tipp: Es kann nicht gelöscht werden, ohne Bedingungen hinzuzufügen. Der Zweck wird erreicht.


3. Erstellen Sie einen Alias, um andere und DBA vor Fehlbedienungen zu schützen

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

4 MySQL Nach dem Hinzufügen der Option -U zum Befehl verweigert das MySQL-Programm die Ausführung, wenn ein UPDATE oder DELETE ohne das Schlüsselwort WHERE oder LIMIT ausgegeben wird.

Das Obige ist der Inhalt von MySQL – wie man menschliche Fehler verhindert vom Betrieb der MySQL-Datenbank und mehr. Für verwandte Inhalte achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn