// Tutorial //

Como instalar o MariaDB no Ubuntu 18.04

Published on May 12, 2020
Default avatar
By Brian Boucheron
Developer and author at DigitalOcean.
Como instalar o MariaDB no Ubuntu 18.04

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.
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. 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:

  1. sudo apt update

Depois disso, instale o pacote:

  1. 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:

  1. 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:

  1. 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:

  1. 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:

  1. FLUSH PRIVILEGES;

Em seguida, saia do shell do MariaDB:

  1. 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.

  1. 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:

  1. 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:

  1. 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:


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
Leave a comment