Ich habe ein Bash-Skript, das versucht, bestimmte Tabellen in meiner Datenbank als schreibgeschützt zu sperren. Dies ist der Befehl, den ich auszuführen bin versucht:mysql Sperrtabellen aus Bash-Skript
mysql -u root -p -e "LOCK TABLES db_name.table1 READ, db_name.table2 READ;"
Dies ist eigentlich nicht die Tabellen Sperren obwohl, wie ich in der Lage ist, die Tabellen zu aktualisieren, die ich bin versucht, oben zu sperren. Wenn ich die folgenden Befehle direkt von der Shell ausgeführt funktioniert es:
mysql -u root -p
(Dies nimmt mich in mysql, wo ich folgendes eingeben)
LOCK TABLES db_name.table1 READ, db_name.table2 READ;
Und diese sperrt tatsächlich die Tabellen in der Datenbank, wie ich Ich kann nichts schreiben oder etwas in diesen Tabellen aktualisieren.
Hat jemand eine Idee, was ich falsch mache?
mysql räumt auf, wenn eine Verbindung geschlossen wird. Ihr CLI würde die Tabellen sperren und dann beenden, wodurch mysql aufräumt und die Sperren freigibt. Sie müssten die Verbindung die ganze Zeit aufrechterhalten, wenn die Sperren aktiv sein sollen. –
@MarcB willst du das nur in eine Antwort einfügen, damit wir es einpacken können? Oder Samantha, du machst es. Es * ist * die Antwort. – Drew
@MarcB Danke !! Die Verbindung bleibt die ganze Zeit aktiv. – Samantha