Енді, на даний момент я здогадуюсь, що у тебе було достатньо часу, щоб знайти рішення. Нещодавно я придумав рішення цього питання, яке для мене чудово працює в таблицях , і я подумав, що поділюсь цим.
cstream - це інструмент для обробки потоків загального призначення, як UNIX dd, який зазвичай використовується в трубах, побудованих командним рядком . Те, що робить cstream корисним для нас, це те, що він дозволяє вказати максимальну пропускну здатність для всіх вхідних даних. Це означає, що ви можете обмежити IO диска своєї команди mysqldump такою простою командою, як ця:
mysqldump --single-transaction --quick -u <USER> -p<PASS> <Database> | cstream -t 1000000 > backup.sql
Якщо припустити, що ви створюєте резервну копію бази даних, яка використовує всі таблиці InnoDB, наведена вище команда є безпечною (не впливатиме на інші запити) і зробить ваш mysqldump, обмеживши читання диска лише одним мегабайт в секунду. Налаштуйте пропускну здатність за допомогою параметра -t до будь-якого значення, яке дозволить вашому середовищу виконувати резервну копію, не впливаючи на досвід клієнта.