Skip to main content

Instalação do Percona MySQL

 Percona MySQL é um banco de dados — o programa responsável por armazenar e organizar todos os dados do sistema (cadastros, configurações, registros, etc.). É uma versão aprimorada do MySQL tradicional, com melhor desempenho e confiabilidade.

Pré-requisito: Você deve estar logado como administrador ( sudo su). Se ainda não fez isso, execute sudo su antes de continuar.


1. Abrindo o Terminal como Administrador

sudo su

2. Preparando o Sistema para a Instalação

O Percona MySQL exige uma dependência de chamada percona-telemetry-agent. Como ela não está disponível diretamente nos repositórios do Ubuntu/Linux Mint, vamos criar um "pacote fictício" para satisfazer esse requisito sem instalar o agente de telemetria real.

2.1 – Instalar o utilitário equivs

O equivs é uma ferramenta que permite criar pacotes fictícios para resolver dependências.

apt install -y equivs && \
equivs-control percona-telemetry-agent

2.2 – Criar o pacote fictício

O bloco cria abaixo cria um arquivo de configuração descrevendoque descreve o pacote fictício:

cat << 'EOF' > percona-telemetry-agent
Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: percona-telemetry-agent
Version: 1.0
Maintainer: local <root@localhost>
Description: Dummy package to satisfy Percona dependency
EOF

Por que fazer isso? O instalador do Percona exige esse componente de telemetria, mas ele não é necessário para o funcionamento do banco de dados. Criando um pacote fictício, enganamos o instalador de forma segura e evitamos instalar software desnecessário.


3. InstalarInstale o Percona MySQL e Configurarconfigure a Segurançasegurança

O comando abaixo faz tudo em sequência: constróiconstruir o pacote fictício, o instala,instalar, adicionaadicionar o repositório oficial do Percona, atualizaatualizar a lista de pacotes, instalainstalar o banco de dados e iniciainiciar o assistente de segurança.

Atenção: Antes de exibirsolicitar o assistente de segurança, o instalador mostrará uma tela pedindosolicitando uma senha padrão para o MySQL. Digite a senha desejada e confirme-aconfirme quando solicitado.solicitada.

equivs-build percona-telemetry-agent && \
dpkg -i percona-telemetry-agent_1.0_all.deb && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://github.com/percona/percona-repositories/raw/main/deb/percona-keyring.gpg | gpg --dearmor -o /etc/apt/keyrings/percona.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/percona.gpg] http://repo.percona.com/ps-84-lts/apt noble main" | tee /etc/apt/sources.list.d/percona-ps-84-lts.list && \
apt update && apt install -y percona-server-server && \
mysql_secure_installation

O que esse bloco faz, passo a passo:

  1. Monta e instala o pacote fictíciodetalhado criado anteriormente
  2. CriaCrie auma pasta para guardarsalvar a chave de segurança do repositório Percona
  3. BaixaBaixe e registraregistre a chave oficial do Percona (garante que os pacotes são autênticos)
  4. AdicionaAdicionado o repositório oficial do Percona ao sistema
  5. AtualizaAtualizar a lista de pacotes disponíveis
  6. InstalaInstale o Percona MySQL
  7. AbreAbra o assistente de segurança mysql_secure_installation

4. Respondendo ao Assistente de Segurança ( mysql_secure_installation)

Após a instalação, o terminal exibirá uma série de perguntas para proteger o banco de dados. Siga as respostas indicadas abaixo:

  • EnterDigite passworda forsenha userdo usuário root: digite a senha temporária gerada durante a instalação
  • PressPressione Y para Sim, qualquer outra tecla para Não: Y
Existem três níveis de política de validação de senha: 0 Alterar a senha de root? (Pressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No:Não): Y ThereNova aresenha: threedigite levelsuma ofnova password validation policy: 0senha ChangeDigite the password for root? (Press y|Y for Yes, any other key for No): Y New password: digitenovamente a nova senhasenha: Re-enter new password: repita a nova senha DoDeseja youcontinuar wishcom toa continuesenha with the password provided?fornecida? (PressPressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No)Não): Y RemoveRemover anonymoususuários users?anônimos? (PressPressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No)Não): Y Disallow rootDesativar login remotely?remoto do usuário root? (PressPressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No)Não): NoNão RemoveRemover testo databasebanco andde accessdados tode it?teste e o acesso a ele? (PressPressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No)Não): Y ReloadRecarregar privilegeas tablestabelas now?de privilégios agora? (PressPressione y|Y forpara Yes,Sim, anyqualquer otheroutra keytecla forpara No)Não): Y

⚠️ Importante: Escolha uma senha forte para o root e guarde-a em local seguro. Você precisará dela nas próximas etapas.


5. Instalar o crudini (se ainda não estiver instalado)

apt install crudini

O crudini é uma ferramenta para editar arquivos de configuração de forma simples e segura, sem precisar abrir o arquivo manualmente.


6. Ajustar as Configuraçõesconfigurações do MySQL

Os comandos abaixo ajustam o comportamento do MySQL para funcionar corretamente com o sistema. Essas configurações controlam coisas como o tamanho máximo de dados que podem ser enviados de uma vez, quaiscujos endereços o banco aceita conexões e como os backups são feitos.

crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld max_allowed_packet 64M && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld bind-address 0.0.0.0 && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld skip-external-locking 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld performance_schema 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump quick 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump quote-names 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump max-allowed-packet 128M

O que cada configuração faz:

Configuração O que define
sql_mode Regras de validação de dados — impede que dados inválidos (como datasdados zeradas)zerados) sejam salvos
max_allowed_packet 64M Tamanho máximo de uma requisição máxima ao banco (64 MB)
bind-address 0.0.0.0 Permite conexões de qualquer endereço de rede (necessário para o Docker)
skip-external-locking Desativa bloqueio externo de arquivos (melhoramelhor desempenho)
performance_schema Ativa o monitoramento interno de desempenho do MySQL
quick(jogar (dump)fora) Exporta os dados linha a linha, economizando memória em backups
quote-names(jogar (dump)fora) Coloca aspas nos nomes de tabelas e colunas nos backups, evitando erros
max-allowed-packet 128M(jogar (dump)fora) Tamanho máximo de dados em backups (128 MB)

7. Corrigir Formatação das Configurações

Este comando garante que as configurações inseridas fiquem no formato correto dentro dos arquivos:

sed -i -e "s/.*skip-external-locking.*/skip-external-locking/" /etc/mysql/mysql.conf.d/mysqld.cnf && \
sed -i -e "s/.*performance_schema.*/performance_schema/" /etc/mysql/mysql.conf.d/mysqld.cnf && \
sed -i -e "s/.*quick.*/quick/" /etc/mysql/mysql.conf.d/mysqldump.cnf && \
sed -i -e "s/.*quote-names.*/quote-names/" /etc/mysql/mysql.conf.d/mysqldump.cnf

8. Permitir Acesso Remoto ao Usuário Root

Por padrão, o usuário root do MySQL só pode se conectar localmente. Os passos abaixo alteramalteraram essa configuração para permitir conexões de qualquer lugar — necessário para que o Docker acesse o banco.

8.1 – Ativar o método de autenticação nativonativa

Abra o arquivo de configuração do MySQL:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Localize a seção [mysqld] e adicione a linha abaixo ao final dela:

mysql_native_password=ON

Salve o arquivo pressionandopressionado Ctrl + O , depois Enter , e saia com Ctrl + X .

Por que isso é necessário? O Percona MySQL 8.4 usa por padrão um método de autenticação mais novo ( caching_sha2_password) que pode ser incompatível com alguns clientes. Ativar o método nativo garante compatibilidade com o sistema.

Reinicie o serviço para aplicar as alterações abaixo:

service mysql restart



 

8.2 – Liberar o acesso remoto do root via linha de comando

Execute o comando abaixo. Quando solicitado, digite a senha do MySQL (a senha nova que você definiu no passo 4):

mysql -h localhost -u root -p mysql -e "UPDATE user SET Host = '%' WHERE user.Host = 'localhost' AND user.User = 'root' LIMIT 1;"

8.3 – Atualizar o método de autenticação do root dentro do banco

Acesse o MySQL interativamente:

mysql -u root -p

Quando solicitado, digite a senha do MySQL e execute os comandos abaixo, substituindoalterando SENHA pelaa senha que você definiu para o banco:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'SENHA';
FLUSH PRIVILEGES;

O que esses comandos fazem:comandos:

  • ALTER USER — altera o usuário root para usar o método de autenticação nativo com a senha definida
  • FLUSH PRIVILEGES aplica asaplique alterações de permissão imediatamente, sem precisar reiniciar o serviço

Digite exit e pressione Enter para sair do MySQL.


9. ReiniciarReinicie o MySQL para Aplicaraplicar as Configuraçõesconfigurações

service mysql restart

Após reiniciar,a reinicialização, todas as configurações entram em vigor e o banco de dados estará pronto para uso.


✅ Instalação Concluída

O Percona MySQL está instalado, configurado e em execução.


Próximo Passo

Continue para: Instalação do Docker