Как задать поиск по совпадения в 2 и более слов?
Нужно каждое слово оборачивать в %?
Нет. Вернее, этого недостаточно.
Условие WHERE name LIKE '%сок%перс%', конечно, не пропустит указанные нежелательные записи - но и "Персиковый сок" тоже будет отброшен.

Нужно проверять наличие каждого слова отдельно.

SELECT *
FROM table
WHERE name LIKE '%сок%'
  AND name LIKE '%перс%';
По-моему, возможностей полно-текстового поиска Mysql должно хватить.
https://www.mysqltutorial.org/mysql-boolean-text-s...