У меня есть сценарий bash, который пытается заблокировать определенные таблицы в моей базе данных только как READ Only. Это команда, которую я пытаюсь выполнить:mysql блокировки таблиц из bash script
mysql -u root -p -e "LOCK TABLES db_name.table1 READ, db_name.table2 READ;"
Это на самом деле не заблокировав таблицы, хотя, как я могу обновить таблицы, которые я пытаюсь зафиксировать выше. Когда я бегу следующие команды прямо из оболочки он работает:
mysql -u root -p
(Это берет меня в MySQL, где я вхожу следующее)
LOCK TABLES db_name.table1 READ, db_name.table2 READ;
И это на самом деле блокирует таблицы в базе данных, как я я не могу ничего написать или обновить что-либо в этих таблицах.
Кто-нибудь знает, что я делаю неправильно? Комментарий
mysql очищает соединение при закрытии соединения. ваш cli блокирует таблицы, а затем выйдет, заставляя mysql очищать и освобождать блокировки. вам нужно будет поддерживать соединение все время, когда вы хотите, чтобы блокировки были активными. –
@MarcB Вы хотите просто вставить это в ответ, чтобы мы могли обернуть это? Или Саманта, ты это делаешь. Это * ответ. – Drew
@MarcB спасибо !! Постоянное поддержание соединения работает отлично. – Samantha