password’ should be char(40) if you use SHA1 hashes.(Secure Hash Algorithm) How it is secure ? will check later .
email’… use 255, you cannot know how long someone’s email address is.
For the username I’d just use whatever your max username length is. 20 or 30 would probably be good.
Also, if you use UTF8 char field in an index, you have to be aware, that MySQL reserves 3 times more bytes that the actual character length of the field, preparing for the worst case (UTF8 might store certain characters on 3 bytes). This can also cause lack of memory.
Unicode transoformation format
a lengh of 30 for user names, 64 for passwords(legth of the hash) and 50 for email adresses).