Wie stelle ich MySQL über die Befehlszeile vorübergehend auf schreibgeschützt ein?
Ich bin erstellen Sie ein bash-script, welches, unter anderem, sammelt einige Daten aus einer MySQL-Datenbank. Meine MySQL-Benutzer hat Schreibrechte, aber aus Gründen der Sicherheit würde ich gerne vorübergehend einstellen, dass es eine nur-lese-Zustand. Ist es möglich, von einer Befehlszeile aus?
InformationsquelleAutor der Frage Jimmy C | 2013-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zur Beantwortung Ihrer ursprünglichen Frage, können Sie Ihre gesamte Datenbank in den read only-Modus, indem Sie diese Befehle:
und zurück zum normalen Modus mit:
Achtung, dies ist eine operation, die haben Tiefe Auswirkungen auf das Verhalten der Datenbank. Also, bevor Sie diese, Lesen Sie die Dokumentation, um die oben genannten Befehle. Ein sehr häufiger Weg ist zu widerrufen DML-Berechtigungen von dem jeweiligen Nutzer und anschließend gewähren Sie Ihnen zurück.
InformationsquelleAutor der Antwort Flo Doe
Gut, wenn der Benutzer die Rechte hat nun alle Privilegien, die erste, Sie brauchen, um zu widerrufen
Nach, die Sie ihm geben, die select-Berechtigung
Tun Ihre Sachen und nach gewährten Privilegien erneut, um den Benutzer
Und das ist alles, Leute
ANMERKUNG: Lesen Sie für ein Angebot, vielleicht habe ich etwas vergessen
InformationsquelleAutor der Antwort Sal00m
Wenn Sie mit MySQL 5.6 oder neuer und InnoDB, können Sie eine Sitzung schreibgeschützt.
https://dev.mysql.com/doc/refman/5.6/en/set-transaction.html
"NUR LESEN" bietet auch einen bescheidenen Leistungsvorteil.
InformationsquelleAutor der Antwort txyoji