Use
--single-transaction
para evitar bloqueios de tabela em tabelas InnoDB. Não há nada que você possa fazer sobre o MyISAM, embora você realmente não deva usar o MyISAM. A melhor solução é criar uma réplica de leitura e fazer backups da réplica para que os bloqueios não afetem o aplicativo.
O que você deve descobrir é que enquanto um backup está sendo executado, um
READ LOCAL
lock é mantido nas tabelas no único banco de dados que está sendo feito backup, o que significa que você pode ler as tabelas, mas as gravações (inserir/atualizar/excluir) bloquearão exceto certas inserções no MyISAM que podem ser alcançadas sem perturbar a trava. Esses podem ser permitidos. A maneira mais fácil de ver isso acontecendo é consultar repetidamente SHOW FULL PROCESSLIST;
para encontrar threads que estão bloqueando.