Tutorial

Como instalar o MariaDB no Ubuntu 18.04

UbuntuMySQLMariaDBUbuntu 18.04Databases

Introdução

O MariaDB é um sistema de gerenciamento de banco de dados de código aberto, usado com frequência como uma alternativa à parte MySQL da famosa pilha LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Ele foi criado como um substituto do MySQL.

A versão curta deste guia de instalação consiste nestes três passos:

  • Atualize seu índice de pacotes usando o apt
  • Instale o pacote mariadb-server usando o apt. O pacote também traz ferramentas relacionadas para interagir com o MariaDB.
  • Execute o script de segurança incluído, mysql_secure_installation, para restringir o acesso ao servidor.
  • sudo apt update
  • sudo apt install mariadb-server
  • sudo mysql_secure_installation

Este tutorial explicará como instalar o MariaDB em um servidor Ubuntu 18.04, e verificar se ele está em funcionamento e tem uma configuração inicial segura.

Pré-requisitos

Para seguir este tutorial, você vai precisar do seguinte:

Passo 1 — Instalando o MariaDB

No Ubuntu 18.04, a versão 10.1 do MariaDB está incluída nos repositórios de pacotes de APT por padrão.

Para instalá-lo, atualize o índice de pacotes em seu servidor com o apt:

  • sudo apt update

Depois disso, instale o pacote:

  • sudo apt install mariadb-server

Estes comandos instalarão o MariaDB, mas não solicitarão que você defina uma senha ou faça outras alterações de configuração. Como a configuração padrão deixa sua instalação do MariaDB desprotegida, usaremos um script que o pacote mariadb-server fornece para restringir o acesso ao servidor e remover contas não utilizadas.

Passo 2 — Configurando o MariaDB

Para novas instalações do MariaDB, o próximo passo será executar o script de segurança incluído. Este script altera algumas das opções padrão menos seguras. Usaremos o script para bloquear os logins remotos ao root e remover usuários de banco de dados não utilizados.

Execute o script de segurança:

  • sudo mysql_secure_installation

Isso levará você a uma série de prompts onde é possível fazer algumas alterações nas opções de segurança de sua instalação do MariaDB. O primeiro prompt pedirá que digite a senha root do banco de dados atual. Como ainda não configuramos uma senha, pressione ENTER para indicar “nenhuma”.

O próximo prompt pergunta a você se deseja definir uma senha root para o banco de dados. Digite N e, em seguida, pressione ENTER. No Ubuntu, a conta root para o MariaDB está intimamente ligada à manutenção automatizada do sistema. Desse modo, não se deve alterar os métodos de autenticação configurados para esta conta. Se isso fosse feito, uma atualização de pacotes poderia quebrar o sistema de banco de dados devido a remoção do acesso à conta administrativa. Mais tarde, vamos tratar de como configurar, de forma opcional, uma conta administrativa adicional para o acesso por senha caso a autenticação por soquete não seja apropriada para o seu caso de uso.

A partir daí, pressione Y e, depois, ENTER para aceitar as configurações padrão para todas as perguntas subsequentes. Isso removerá alguns usuários anônimos e o banco de dados teste, desativará os logins remotos ao root e carregará essas novas regras para que o MariaDB respeite imediatamente as alterações que você fez.

Passo 3 — (Opcional) Ajustando a autenticação e os privilégios do usuário

Em sistemas Ubuntu executando o MariaDB 10.1, o usuário MariaDB root é configurado para autenticar-se usando o plug-in unix_socket por padrão, em vez de fazê-lo com uma senha. Isso permite maior segurança e usabilidade na maioria dos casos, mas também pode complicar as coisas quando for necessário permitir direitos administrativos a um programa externo (por exemplo, o phpMyAdmin).

Como o servidor usa a conta root para tarefas como a rotação de registro e a inicialização e parada do servidor, é melhor não alterar os detalhes de autenticação da conta root. A alteração das credenciais no arquivo de configuração /etc/mysql/debian.cnf pode funcionar inicialmente, porém, atualizações de pacotes podem resultar na substituição destas alterações. Em vez de modificar a conta root, os mantenedores de pacotes recomendam criar uma conta administrativa separada, para o acesso baseado em senha.

Para fazer isso, criaremos uma nova conta chamada admin com os mesmos recursos da conta root, mas configurada para autenticação por senha. Para fazer isso, abra o prompt do MariaDB do seu terminal:

  • sudo mysql

Agora, criaremos um novo usuário com privilégios root e acesso com senha. Altere o nome de usuário e senha para que correspondam às suas preferências:

  • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Descarregue os privilégios para garantir que eles estão salvos e disponíveis na sessão atual:

  • FLUSH PRIVILEGES;

Em seguida, saia do shell do MariaDB:

  • exit

Por fim, vamos testar a instalação do MariaDB.

Passo 4 — Testando o MariaDB

Quando o MariaDB é instalado dos repositórios padrão, ele normalmente é iniciado de maneira automática. Para testar isso, verifique o status dele.

  • sudo systemctl status mariadb

Você receberá um resultado que é parecido com este:

Output
● mariadb.service - MariaDB 10.1.44 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-03-25 16:51:16 UTC; 8min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 22559 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 1152) CGroup: /system.slice/mariadb.service └─22559 /usr/sbin/mysqld Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: mysql Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 6/7: Checking and upgrading tables Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Processing databases Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: information_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 7/7: Running 'FLUSH PRIVILEGES' Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: OK Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22658]: Checking for insecure root accounts. Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22663]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

Se o MariaDB não estiver em execução, inicie-o com o comando sudo systemctl start mariadb.

Como verificação adicional, tente se conectar ao banco de dados usando a ferramenta mysqladmin. Esta ferramenta é um cliente que permite que você execute comandos administrativos. Por exemplo, este comando faz você se conectar ao MariaDB como root e retornar a versão usando o socket Unix:

  • sudo mysqladmin version

Você deve receber um resultado similar a este:

Output
mysqladmin Ver 9.1 Distrib 10.1.44-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.1.44-MariaDB-0ubuntu0.18.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 10 min 9 sec Threads: 1 Questions: 445 Slow queries: 0 Opens: 167 Flush tables: 1 Open tables: 30 Queries per second avg: 0.730

Se você configurou um usuário administrativo separado com autenticação por senha, execute a mesma operação digitando:

  • mysqladmin -u admin -p version

Isso significa que o MariaDB está em funcionamento e que seu usuário consegue autenticar-se com sucesso.

Conclusão

Neste guia, você instalou o MariaDB para agir como um servidor SQL. Durante o processo de instalação, você também protegeu o servidor. De maneira opcional, você também criou, separadamente, um usuário administrativo autenticado por senha.

Agora que você tem um servidor MariaDB funcionando e protegido, aqui estão alguns exemplos de passos que você pode seguir para trabalhar com o servidor:

Você também pode incorporar o MariaDB em uma pilha de aplicativos maior:

Creative Commons License