Интересная ошибка. При использовании utf8_unicode_ * сверку, MySQL обрабатывает недопустимые символы UTF-8 символов (например, строка в X'C29D»используется здесь) как равен пустой строке, даже в середине других строк. Обычно это не такая большая проблема, но в некоторых запросах это является серьезной проблемой. В частности, это действительно очень плохо, если вы используете текст в какой-то ID и столбец ID не ограничивается быть уникальным (как в случае с колонкой MemberName РВСН по какой-то причине).
Эти странные пользователи были добавлены в список, потому что SQL-запрос был добавление всех пользователей, совпавшие MemberName в ( '') или в случае EcuaMobi в MemberName в ( 'Quickseller', ...), и это соответствует несколько непредусмотренных пользователей благодаря тому, что пустая строка путанице. Есть последствия для безопасности здесь. AFAICT, некоторые серьезные (но не критично) шалости, возможно, было сделано, выдав привилегированных пользователей в некоторых случаях. Держу пари, что есть много сайтов, которые там имеют более серьезные уязвимости из-за такого рода вещи. И я даже не считал сверка как источник этих проблем - это не то, что я дал больше, чем мимолетный взгляд на ранее. Это выглядит как довольно серьезный недостаток в SQL и / или MySQL, которые должны быть опубликованы более ИМО. Это слишком сложно рассуждать о правильности здесь.
- Я очистил тех пользователей из целевых списков у всех и переименовал их. Некоторые подобные пользователи, вероятно, все еще существуют в БД, но я не вижу необходимости искать их.
- Я пересмотрел все правила сортировки в базах, в настройки, которые должны работать, как задумано. Это требует блокировки таблицы в течение длительных периодов времени, что является причиной того, что другая странности в течение последних нескольких часов.
- Я сделал это так, вы не можете использовать имена, содержащие недопустимые символы UTF-8 строку или управляющие символы.