Enfrentando Problemas com o Docker e MySQL? Experimente o MariaDB Server: Uma Alternativa Confiável
Descubra como superar desafios de conexão e inicialização com o MariaDB e deixe seus serviços rodando sem problemas
1. Introdução
1.1 Porque optei pelo MariaDB?
Recentemente, tenho notado dificuldades na execução das versões mais recentes do Docker e do MySQL em meu ambiente. Após várias tentativas sem sucesso de inicializar o servidor, percebi que esse problema pode ser comum entre os usuários. Portanto, decidi compartilhar uma alternativa confiável que encontrei: o MariaDB Server, um fork do MySQL.
É importante ressaltar que o servidor Docker e o MySQL não estavam funcionando conforme esperado. As tentativas de conexão e inicialização resultaram em falhas recorrentes.
Espero que esta solução seja útil para aqueles que enfrentam desafios semelhantes.
1.2 Versão do MariaDB Server
A versão utilizada neste exemplo é: “mysql Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper”.
1.3 Versão do meu sistema
uname -a: “Linux 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux”.
2. Removendo e atualizando pacotes
2.1 Remover Pacotes MySQL e Docker (se necessário)
Se você, assim como eu, instalou MySQL e Docker, sua máquina pode estar com pacotes desnecessários. Manter aplicações que não são úteis não faz sentido. Portanto, primeiro, remova qualquer instalação anterior do MySQL e Docker Desktop para evitar possíveis conflitos.
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo apt purge docker-desktop
sudo apt autoremove
sudo apt autoclean
2.2 Atualizar lista de pacotes
Atualize a lista de pacotes para garantir que você tenha a última versão dos pacotes de instalação.
sudo apt update
2.3 Instalar o MariaDB Server
Instale o servidor MariaDB e o cliente MariaDB.
sudo apt install mariadb-server mariadb-client
3. Iniciando o uso da aplicação
3.1 Iniciar e habilitar o serviço MariaDB
Inicie o serviço MariaDB e configure-o para iniciar automaticamente na inicialização do sistema.
sudo systemctl start mariadb
sudo systemctl enable mariadb
3.2 Verificar o status do serviço
Verifique se o serviço MariaDB está em execução.
sudo systemctl status mariadb
4. Configurações e acessos
4.1 Configurar a segurança do MariaDB
Execute o script de segurança do MariaDB para configurações finais. Durante o processo, você será solicitado a remover usuários anônimos, desabilitar logins remotos do root, remover e acessar o banco de dados de teste e recarregar as tabelas de privilégios.
sudo mysql_secure_installation
4.2 Acessar MariaDB com cliente
Acesse o cliente MariaDB para verificar a instalação.
sudo mysql -u root -p
4.3 Mostrar banco de dados disponíveis
Depois de acessar o cliente MariaDB, você pode listar os bancos de dados disponíveis para garantir que tudo está funcionando corretamente.
SHOW DATABASES;
4.4 Conceder todos os privilégios ao usuário root
Conceda todos os privilégios ao usuário 'root' no localhost, definindo uma senha. Neste exemplo, usamos a senha “123456”.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
4.5 Criar um novo banco de dados
Crie um novo banco de dados. Aqui nomearemos de “base_de_dados”.
CREATE DATABASE base_de_dados;
4.6 Usar o banco de dados criado
Selecione o banco de dados “base_de_dados” para começar a usá-lo.
USE base_de_dados;
5. Configurações de novos usuários e privilégios
5.1 Criar um novo usuário
Supondo que não conseguiu instalar o Docker e MySQL e tendo que extrair informações de um arquivo yml/yaml, saiba que é possível criar e configurar usuários diretamente no MariaDB.
Criaremos um novo usuário chamado “usuario” com a senha “senha_usuario”.
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'senha_usuario';
5.2 Conceda privilégios ao novo usuário
Conceda todos os privilégios no banco de dados “base_de_dados” ao usuário “usuario”.
GRANT ALL PRIVILEGES ON base_de_dados.* TO 'usuario'@'localhost';
5.3 Recarregar a tabela de privilégios
Recarregue as tabelas de privilégios para aplicar as mudanças.
FLUSH PRIVILEGES;
5.4 Verificar usuários criados
Liste todos os usuários do banco de dados para verificar se o novo usuário foi criado corretamente.
SELECT User, Host FROM mysql.user;
5.5 Parar/Desligar o servidor
Por fim, se você precisar parar o servidor, basta digitar o comando abaixo:
sudo systemctl stop mariadb
Chegamos ao fim deste modesto tutorial. Prefiro ser direto e objetivo, mas se você quiser mais detalhes, pode consultar a documentação para obter informações adicionais. Acesse este link.
Qualquer dúvida, entre em contato! ;-)