Результат/состояние выполненного запроса MYSQL записать в файл

Таблица БД содержит ~200 млн. строк. Подключаюсь к серверу терминалом по SSH.

Иногда приходится работать с запросами, которые выполняются довольно долго:

DELETE FROM tbl1 WHERE...
INSERT INTO tbl1 SELECT * FROM table2 WHERE...
OPTIMIZE TABLE tbl1;

и т.д.

Во время работы запроса, может оборваться соединение по SSH и сессия подключения к mySQL закроется. При этом СУБД продолжает обрабатывать запрос.

Мне нужно увидеть стандартное сообщение, которое выводит mySQL по окончанию работы над этим запросом (количество затронутых строк, затраченное время, возникшие ошибки и т.д.). Как это сделать? Может быть в файл записать? Подскажите как реализовать.


Ответы (1 шт):

Автор решения: DiD

Подключаясь по SSH используйте мультиплексоры tmux или screen.

Аттач сессий решит вашу проблему. Сессия выполняется независимо от SSH-соединения и к ней можно подключиться для наблюдения результатов в любой момент.

Если соединение с интернетом неустойчивое (LTE, Wifi) можно использовать совместно с mosh. Эта тулза автоматически переключает соединения когда интернет появляется после оффлайна и делает это не выходя из открытого readline-интерфейса mysql.

→ Ссылка