1 / Имя пользователя и пароль: решите сами, насколько большими они должны быть.
2 / BIGINT в порядке, хотя целое число, вероятно, достаточно. Но сделайте это НЕ ПОДПИСАНО и, вероятно, тоже AUTO_INCREMENT.
3 / Постарайтесь сделать таблицу пользователей как можно меньше:
users (
BIGINT id,
VARCHAR(?) username,
VARCHAR(?) password,
VARCHAR(254) email,
DATETIME data_created
)
Остальное, вы кладете в дополнительные таблицы:
logins (
BIGINT loginid
BIGINT userid
DATETIME last_login,
VARCHAR(15) IP_ADRESS
...
)
Таким образом, ваша таблица пользователей будет изменяться только , когда новый пользователь добавляется или удаляется, или когда кто-то меняет свой пароль, что реже, чем когда кто-то входит в систему . Это позволяет улучшить кэширование таблиц (MySQL очищает кеш таблиц при записи в таблицу).