Case-sensitivity in MySQL is dictated by the collation used.
All of yours are
COLLATE utf8_binutf8_bin, which means UTF-8 (good) with binary comparisons (bad). Your table has that as a default. Your database probably has it as a default too.
Change everything that you want to be case-insensitive to use a case-insensitive collation. Do
SHOW COLLATION WHERE Charset = 'utf8';and pick one of the *_ci collations by reading the names and using common sense. If you're not confident in your choice, post the list.
Then use ALTER TABLE statements to change the columns. ALTER TABLE can also do the table's default collation and ALTER DATABASE will do the database's. Go to the full post