O MySQL tomou a decisão de atualizar o banco de dados depois de ler no site do desenvolvedor que na oitava versão foi introduzido um suporte mais abrangente para UTF. Em particular, o MySQL 8.0.11 usa expressões regulares baseadas em ICU, International Components for Unicode.
A primeira coisa que notei foi que os limites das palavras em expressões regulares não podem mais ser denotados como:
SELECT '' REGEXP '[[:<:]][[:>:]]';
Os limites da palavra na nova versão são indicados da seguinte maneira:
'\\b\\b'
Além disso, LOAD DATA LOCAL INFILE parou de funcionar, ou seja, importar dados de um arquivo de texto no computador local. Acontece que no MySQL 8.0 a variável global local_infile está definida como OFF por padrão. Eles escrevem no site do desenvolvedor que isso foi feito como uma medida de segurança. O valor dessa variável pode ser visualizado com o seguinte comando:
SHOW GLOBAL VARIABLES LIKE 'local_infile';
Resolvi esse problema executando no terminal:
SET GLOBAL local_infile = true;
Ou seja, ele se encaixa no terminal no MySQL como de costume:
mysql -u root -p
e executou o comando acima.
Por precaução, eu exportei bancos de dados para o PHPMyAdmin no formato SQL nos arquivos GZ. E não se arrependeu. Simplesmente substituir arquivos de dados de 5.7 a 8.0.11 não funciona. A oitava versão não os reconhece. E a importação de dados de arquivos SQL ficou sem comentários.
E isso é tudo. O resto está funcionando bem. Eu já posso ver que na oitava versão, expressões regulares da UTI têm mais recursos, o que é importante para trabalhar com o alfabeto cirílico.