collation-server 是 MySQL 配置参数之一,用于设置 MySQL 服务器的默认字符集排序规则。具体来说,它决定了 MySQL 如何比较和排序数据。在 collation-server 参数中指定的字符集排序规则,会被用于整个 MySQL 服务器中所有的字符集排序操作,包括表的创建、索引的创建、数据的插入和查询等等。
utf8_unicode_ci 是一种针对 UTF-8 编码的排序规则,它是 Unicode 排序规则的一种变体。该排序规则支持多种语言和字符集,能够正确地对各种语言和字符进行排序和比较。其中 ci 表示该排序规则是大小写不敏感的,也就是说,在排序时会忽略字母的大小写。
底层原理是 MySQL 服务器在执行排序操作时,会使用指定的字符集排序规则对数据进行排序。对于 utf8_unicode_ci 这种排序规则,MySQL 会将字符串转换成 Unicode 编码,并按照 Unicode 编码的大小进行排序。在排序时,MySQL 会先按照字符串的首字符进行排序,如果首字符相同,则按照第二个字符进行排序,以此类推,直到比较出大小为止。
需要注意的是,不同的字符集排序规则对数据的排序结果会有所不同,因此在选择排序规则时需要根据具体情况进行选择。