Ответ 1
Параметр- skip-lock-tables указывает утилите mysqldump не выдавать команду LOCK TABLES, прежде чем получить дамп, который получит блокировку READ для каждой таблицы. Все таблицы в базе данных должны быть заблокированы для улучшения согласованности в случае процедуры резервного копирования. Даже с таблицами блокировки пропуска, в то время как таблица сбрасывается, не будет получать никаких INSERT или UPDATE, поскольку она будет заблокирована из-за того, что SELECT требуется для получения всех записей из таблицы. Похоже на это
SELECT SQL_NO_CACHE * FROM my_large_table
и вы можете увидеть его в списке процессов с помощью команды SHOW PROCESSLIST. Если вы используете механизм MyISAM, который не является транзакционным, блокировка таблиц в любом случае не гарантирует ссылочную целостность и согласованность данных, я лично использую параметр - skip-lock-tables почти всегда. В InnoDB используется параметр --single-transaction для ожидаемого эффекта. Надеюсь, это поможет.