У вас є два варіанти:
A. Використовуйте --skip-lock-tables
параметр mysqldump. Ваші таблиці не будуть заблоковані, але резервна копія може бути невідповідною (залежить від вашої схеми: якщо транзакції вашої бази даних торкаються відразу декількох таблиць, а одна таблиця вже є резервною копією, а інша - ні. Наприклад: дві таблиці: клієнти Якщо клієнти спочатку створюють резервну копію, а потім вставляють нову пару клієнтів / замовлень, ви можете закінчити замовлення без замовника у вашій резервній копії).
Ця проблема є основною причиною, чому mysqldump за замовчуванням блокує всі таблиці. Якщо ця проблема не стосується вас, пропуск блокування таблиці в mysql є найпростішим рішенням.
B. Використовуйте інший метод резервного копіювання. Наприклад: Очистіть таблиці з блокуванням читання, створіть знімок LVM, розблокуйте таблиці, змонтуйте знімок LVM та створіть резервну копію даних. Це стає швидко, набагато складніше, ніж простий mysqldump. Google "mysql резервного копіювання з LVM-знімками", доступно багато сценаріїв та навчальних посібників.
Якщо ваші дані MySQL не містять об'єм LVM, ви можете створити підлеглий MySQL-сервер і створити резервну копію, не торкаючись головного, тому блокування відбувається на підлеглому, і майстер завжди вільний.