В таблице надо ставить кодировку _cs (case sensitive).
А потом определиться на уровне кода как вы хотите чтобы это работало.
Если чтобы заходил только так как вводил изначально, то кроме кодировки ничего не надо настраивать больше.
Если только маленькими/большими, то в запросах и/или в коде везде надо приводить в один вид:
strtolower/strtoupper в php
UPPER/LOWER в mysql
В целом это не user friendly, да и при работе неудобно, всегда об этом надо будет помнить и самому и пользователю в каком именно виде он вводил логин.
Так что нормальная практика использовать _ci (case insensitive) и не запариваться на счет того как юзер ввёл свой логин. Если конечно это ограничение не продиктовано внешними условиями в виде стороннего софта который работает по другой схеме и надо её придерживаться.