Uma string no MySQL tem um conjunto de caracteres e um agrupamento . Utf8 é um conjunto de caracteres e utf8_bin é um de seus agrupamentos. A ordenação determina como o MySQL compara strings.
Por exemplo, aqui estão duas maneiras de comparar uma string UTF8:
select case when 'test' = 'TEST' collate utf8_bin
then 'true' else 'false' end,
case when 'test' = 'TEST' collate utf8_roman_ci
then 'true' else 'false' end
O primeiro usa o agrupamento utf8_bin, que diferencia maiúsculas de minúsculas. O segundo usa utf8_roman_ci, que não diferencia maiúsculas de minúsculas.
Uma lista de todos os conjuntos de caracteres e agrupamentos pode ser encontrada com:
show character set
show collation
latin1_swedish_ci
é o agrupamento padrão (o MySQL foi originalmente desenvolvido na Suécia), isso também é verdade para o MariaDB.