Introdução
O MariaDB é um sistema de gerenciamento de banco de dados relacional de código aberto, comumente usado como uma alternativa ao MySQL como a parte do banco de dados do popular stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Ele é destinado a ser uma substituição direta para o MySQL.
A versão resumida deste guia de instalação consiste nestas três etapas:
- Atualize seu índice de pacotes usando
apt
- Instale o pacote
mariadb-server
usandoapt
. O pacote também traz ferramentas relacionadas para interagir com o MariaDB - Execute o script de segurança
mysql_secure_installation
incluído para restringir o acesso ao servidor
Este tutorial explicará como instalar o MariaDB em um servidor Ubuntu 22.04 e verificar se ele está em execução e possui uma configuração inicial segura.
Pré-requisitos
- Para seguir este tutorial, você precisará de um servidor executando o Ubuntu 22.04. Este servidor deve ter um usuário administrativo não root e um firewall configurado com UFW. Configure isso seguindo nosso guia de configuração inicial do servidor para Ubuntu 22.04.
Passo 1 — Instalando o MariaDB
No momento desta escrita, os repositórios padrão do APT do Ubuntu 22.04 incluem a versão 10.5.12 do MariaDB.
Para instalá-lo, atualize o índice de pacotes em seu servidor com apt
:
Em seguida, instale o pacote:
Esses comandos irão instalar 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 insegura, você usará um script fornecido pelo pacote mariadb-server
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 é executar o script de segurança incluído. Este script altera algumas das opções padrão menos seguras para coisas como logins remotos do root e usuários de exemplo.
Execute o script de segurança:
Isso irá guiá-lo por uma série de prompts onde você pode fazer algumas alterações nas opções de segurança da sua instalação do MariaDB. O primeiro prompt pedirá que você insira a senha atual do banco de dados root. Como você ainda não configurou uma, pressione ENTER
para indicar “nenhuma”.
OutputNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, you'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
Você será perguntado se deseja mudar para autenticação de soquete Unix. Como você já possui uma conta root protegida, você pode pular esta etapa. Digite n
e depois pressione ENTER
.
Output. . .
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] n
O próximo prompt pergunta se você gostaria de configurar uma senha de root do banco de dados. No Ubuntu, a conta root para o MariaDB está intimamente ligada à manutenção automática do sistema, portanto, você não deve alterar os métodos de autenticação configurados para essa conta.
Fazer isso tornaria possível que uma atualização de pacote quebrasse o sistema de banco de dados removendo o acesso à conta administrativa. Digite n
e depois pressione ENTER
.
Output. . .
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] n
Mais tarde, você aprenderá como configurar uma conta administrativa adicional para acesso por senha se a autenticação de soquete não for apropriada para o seu caso de uso.
A partir daí, você pode pressionar Y
e depois ENTER
para aceitar os padrões para todas as perguntas subsequentes. Isso removerá alguns usuários anônimos e o banco de dados de teste, desabilitará logins remotos de root, e carregará essas novas regras para que o MariaDB implemente imediatamente as alterações que você fez.
Com isso, você terminou a configuração de segurança inicial do MariaDB. O próximo passo é opcional, embora você deva segui-lo se preferir autenticar-se no seu servidor MariaDB com uma senha.
Passo 3 — (Opcional) Criando um Usuário Administrativo que Utiliza Autenticação por Senha
Nos sistemas Ubuntu que executam o MariaDB 10.5, o usuário root do MariaDB é configurado para autenticar-se usando o plugin unix_socket
por padrão, em vez de uma senha. Isso permite uma segurança e usabilidade melhores em muitos casos, mas também pode complicar as coisas quando você precisa permitir que um programa externo (por exemplo, phpMyAdmin) tenha direitos administrativos.
Como o servidor utiliza a conta root para tarefas como rotação de logs e iniciar e parar o servidor, é melhor não alterar os detalhes de autenticação da conta root. Alterar credenciais no arquivo de configuração /etc/mysql/debian.cnf
pode funcionar inicialmente, mas atualizações de pacotes podem potencialmente sobrescrever essas alterações. Em vez de modificar a conta root, os mantenedores do pacote recomendam criar uma conta administrativa separada para acesso baseado em senha.
Para isso, criaremos uma nova conta chamada admin com as mesmas capacidades da conta root, mas configurada para autenticação por senha. Abra o prompt do MariaDB a partir do seu terminal:
Então, crie um novo usuário com privilégios de root e acesso baseado em senha. Certifique-se de alterar o nome de usuário e a senha de acordo com suas preferências:
Atualize os privilégios para garantir que sejam salvos e estejam disponíveis na sessão atual:
Após isso, saia do shell do MariaDB:
Finalmente, vamos testar a instalação do MariaDB.
Passo 4 — Testando o MariaDB
Quando instalado a partir dos repositórios padrão, o MariaDB iniciará automaticamente. Para testar isso, verifique seu status.
Você receberá uma saída semelhante à seguinte:
Output● mariadb.service - MariaDB 10.5.12 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
. . .
Se o MariaDB não estiver em execução, você pode iniciá-lo com o comando sudo systemctl start mariadb
.
Para uma verificação adicional, você pode tentar se conectar ao banco de dados usando a ferramenta mysqladmin
, que é um cliente que permite executar comandos administrativos. Por exemplo, este comando diz para se conectar ao MariaDB como root usando o soquete Unix e retornar a versão:
Você receberá uma saída semelhante a esta:
Outputmysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.5.12-MariaDB-1build1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /run/mysqld/mysqld.sock
Uptime: 15 min 53 sec
Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
Conclusão
Neste guia, você instalou o sistema de gerenciamento de banco de dados relacional MariaDB e o segurou usando o script mysql_secure_installation
que veio instalado com ele. Você também teve a opção de criar um novo usuário administrativo que utiliza autenticação por senha antes de testar a funcionalidade do servidor MariaDB.
Agora que você tem um servidor MariaDB em execução e seguro, aqui estão alguns exemplos de próximos passos que você pode tomar para trabalhar com o servidor:
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04