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:
apt
mariadb-server
usando o apt
. O pacote também traz ferramentas relacionadas para interagir com o MariaDB.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.
Para seguir este tutorial, você vai precisar do seguinte:
sudo
e um firewall.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.
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.
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.
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:
Outputmysqladmin 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.
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.
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!