MySQL ou MariaDB: qual corre aqui, e se isso importa

Na hospedagem partilhada corre o MariaDB, não o MySQL Server da Oracle. À data deste artigo, a versão é a 10.11.16. Para quase todos os sites isso não faz diferença: o MariaDB nasceu como um sucessor compatível do MySQL, fala a mesma linguagem SQL e liga-se da mesma maneira.

A linha de comandos continua a chamar-se mysql por compatibilidade, e o phpMyAdmin do cPanel funciona como o de qualquer outra casa. O que interessa saber é onde as duas famílias se separam, porque é aí que um ficheiro importado falha.

Como confirmar o que corre na sua conta

1 Abra o phpMyAdmin no cPanel. A página inicial mostra o servidor de base de dados e a versão.
2 No separador SQL, escreva SELECT VERSION(); e execute. O resultado inclui a palavra MariaDB.
3 Se tem acesso por SSH, mysql --version diz o mesmo. Veja o Terminal do cPanel.

O que muda e o que não muda

Assunto Na prática
WordPress, Joomla e a maioria das aplicações do instalador Funcionam sem ajustes. Foram escritas para correr tanto em MySQL como em MariaDB.
Ligar a partir de PHP, Python ou Node Igual. As mesmas bibliotecas (mysqli, PDO, mysql2, PyMySQL) falam com o MariaDB. Veja o exemplo em PHP.
Cópias .sql vindas de um MySQL antigo Importam normalmente na grande maioria dos casos.
Cópias .sql vindas de um MySQL 8 Podem trazer uma ordenação (collation) que o MariaDB não conhece, como utf8mb4_0900_ai_ci. O erro é Unknown collation.
Funções exclusivas do MySQL 8 Se o seu código usa uma função que só existe no MySQL 8, não corre aqui. É raro em sites normais.
Utilizadores e palavras-passe Criam-se no cPanel e já saem no formato certo. Não precisa de escolher o método de autenticação.
O erro clássico: importa uma cópia feita num MySQL 8 e o phpMyAdmin pára com #1273 Unknown collation. A solução é abrir o ficheiro .sql num editor e substituir utf8mb4_0900_ai_ci por utf8mb4_unicode_ci (e o mesmo para o charset, se for preciso). Veja conjuntos de caracteres e ordenações.

E a versão, quem a escolhe?

Na hospedagem partilhada, a versão do motor é a do servidor, não uma definição da sua conta: não a escolhe nem a muda. Os números de versão do MariaDB e do MySQL não se comparam: o 10.11 do MariaDB não é «mais antigo» do que o 8 do MySQL, são linhas diferentes. Quando uma aplicação pede «MySQL 5.7 ou superior», veja se a documentação menciona o MariaDB nos requisitos (a maioria menciona) ou pergunte ao autor. Uma aplicação que diz «MySQL 8» nem sempre precisa mesmo dele: muitas só foram testadas nessa versão. Se tiver mesmo de a ter, o caminho é um VPS.

Precisa mesmo do MySQL 8? Num VPS escolhe o motor e a versão, porque tem acesso root. Nesse caso a instalação e a manutenção são suas, como em qualquer VPS não gerido. Veja VPS gerido ou não gerido.

Não sabe se a sua aplicação é compatível com o MariaDB? Diga-nos o nome e a versão e vemos consigo.

Abrir um pedido de suporte

VEJA TAMBÉM

Criar bases de dados e usar o phpMyAdmin

PostgreSQL ou MySQL: qual escolher para o seu projecto

Planos de hospedagem e o que cada um inclui

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?