Как лучше сделать MySQL базу данных типа account — key — value?
1) Без острой нужды я бы не стал класть в базу json. Особенно в mysql/sqlite. Это вот прямо источник кучи геммороя и проблем с произвордительностью когда выяснится что объект все таки можно для экономии ресурсов читать/писать не целиком. 
2) Если у Вас стоят ограничения в стиле "доступно только это" - значит у Вас явно нет каких то ощутимых нагрузок, так что делайте как угодно, начнутся живые проблемы - перепишите на postgresql/redis/... в зависимости от ситуации
Если это не критичные данные и при их потере ничего не произойдет - смотрите в сторону redis.
Если значений не много - просто сериализируйте (правда фильтрация качественная пропадет).
Если значений прям таки дохрена + индекс на key - [id, key, value].