Moodle e o Barracuda vs Antelope

Você esta atualizando o Moodle e se depara com a seguinte mensagem:

Seu banco de dados possui tabelas usando Antelope como formato de arquivo. Recomenda-se converter as tabelas para o formato de arquivo Barracuda. Consulte a documentação Administração via linha de comandopara detalhes de uma ferramenta para converter tabelas InnoDB para Barracuda.

Igual a imagem:

Isso acontece porque seu MySql possui tabelas que são salvas no formato Antilope

O formato de arquivo na versão Built-In do InnoDB é chamado de Antelope, enquanto que o novo formato foi batizado como Barracuda. O formato Antelope é um arquivo não nomeado internamente, no qual as tabelas utilizam o formato de linha COMPACT ou REDUNDANT, possibilitando que o InnoDB armazene 768 bytes para colunas com tipos de dados variáveis (VARCHAR, VARBINARY, TEXT e BLOB) uma entrada no índice B-Tree ou chave primária da tabela. Já o novo formato, o Barracuda, é utilizado para prover todos os novos recursos que o InnoDB Plugin entrega ao mercado e ao usuário final, e seu formato de linha pode ser DYNAMIC ou COMPRESSED.
Fonte Imaster

É muito fácil de resolver isso. No terminal do Linux digite:

php admin/cli/mysql_compressed_rows.php --list

A saída será algo do tipo:

mdl_data                     Compact     (needs fixing)
mdl_data_fields              Compact     (needs fixing)
mdl_lti                      Compact     (needs fixing)
mdl_user                     Compact     (needs fixing)
mdl_user_info_field          Compact     (needs fixing)

Na primeira coluna temos as tabelas do banco de dados que estão no formato Antelope. Para converter estas tabelas para Barracuda execute:

php admin/cli/mysql_compressed_rows.php --fix

Se tudo der certo a mensagem abaixo irá aparecer:

mdl_data                      ... Compressed
mdl_data_fields               ... Compressed
mdl_lti                       ... Compressed
mdl_user                      ... Compressed
mdl_user_info_field           ... Compressed

Se der erro, a mensagem será:

Cannot enable GLOBAL innodb_file_per_table setting, use --showsql option and execute the statements manually.!!! Erro ao gravar na base de dados !!!

Neste caso execute:

php admin/cli/mysql_compressed_rows.php --showsql

E uma sequencia de SQL será gerada, como abaixo:

USE moodle;
SET SESSION sql_mode=STRICT_ALL_TABLES;
SET GLOBAL  innodb_file_per_table=1;
SET GLOBAL  innodb_large_prefix=1;
SET GLOBAL  innodb_file_format=Barracuda;

Execute estes SQL no seu administrador de banco de dados e pronto.

Fique por dentro de nossas novidades, ideias e atualizações