Транзакции борются за строки таблицы таким образом, что их можно рассудить, лишь откатив одну из них. Не опасно. На уровне настроек сервера не решается, дело в прикладном коде.
1. При взаимной блокировке откатить транзакцию и повторить снова.
2. На ключевых транзакциях установить более мягкое или жёсткое правило изоляции транзакций.
3. Кому-то помогало переписывание индексов:
Mysql: Deadlock found when trying to get lock; try restarting transaction
4.
sqlinfo.ru/forum/viewtopic.php?id=2291 Кто-то сделал неверный LOCK и вместо деда Мороза пришёл дед Лок.
5. Переписать архитектуру программы так, что не потребуется миллионы раз обращаться к одному и тому же.