Tutorial

Como instalar o MariaDB no Ubuntu 18.04

Published on May 12, 2020
Português
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:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel