Pesquisa de site

Instale MariaDB 11.0 com phpMyAdmin no Rocky/AmaLinux


MariaDB é um dos populares sistemas de gerenciamento de banco de dados relacional (RDBMS). Ele foi criado como um fork do MySQL depois que seus proprietários queriam torná-lo um software pago. Ao longo dos anos com desenvolvimento contínuo, os usuários do MariaDB têm a flexibilidade de selecionar a versão que melhor atende às suas necessidades e está alinhada com suas aplicações de negócios. Existem vários outros motivos pelos quais o MariaDB é preferido, alguns dos quais incluem:

  • Código Aberto: Isso significa que está disponível gratuitamente para uso, modificação e distribuição. A sua natureza de código aberto incentiva o envolvimento da comunidade, promove a inovação e permite ciclos rápidos de desenvolvimento. Ele também oferece maior transparência, segurança e flexibilidade em comparação com sistemas de banco de dados proprietários.
  • Alta disponibilidade e replicação: também inclui recursos robustos para garantir alta disponibilidade e redundância de dados. Ele oferece suporte a vários métodos de replicação, incluindo replicação mestre-escravo e replicação multifonte, permitindo a criação de clusters de bancos de dados confiáveis e tolerantes a falhas. Isso garante a disponibilidade contínua de dados críticos e minimiza o risco de perda de dados.
  • Comunidade Ativa e Suporte: Possui uma grande comunidade de usuários, desenvolvedores e colaboradores. Esta comunidade fornece suporte valioso, atualizações regulares, correções de bugs e melhorias de recursos. Os usuários podem acessar extensa documentação, fóruns e recursos, facilitando a resolução de problemas e mantendo-se atualizados com os desenvolvimentos mais recentes.
  • Desempenho e escalabilidade: Possui diversas melhorias e otimizações de desempenho em relação aos seus antecessores. Ele fornece otimização aprimorada de consultas, processamento de dados mais rápido e uso eficiente dos recursos do sistema. Além disso, o MariaDB oferece recursos de escalabilidade, como processamento paralelo, multithreading e suporte para computação distribuída, permitindo lidar com grandes conjuntos de dados e altas cargas de trabalho.
  • Compatibilidade: Foi projetado para ser altamente compatível com MySQL. Isso quer dizer que aplicativos e sistemas desenvolvidos para MySQL podem fazer uma transição perfeita para MariaDB. Essa compatibilidade garante um caminho de migração tranquilo para empresas que usam MySQL e permite que aproveitem os benefícios do MariaDB sem grandes modificações.

Atualmente, a versão mais recente é o MariaDB 11.0. Porém, esta versão ainda é RC e não recomendada para ambientes de Produção.

Esta atualização mais recente traz melhorias significativas ao Optimizer no MariaDB. Uma mudança notável é a remoção do InnoDB Change Buffer, que teve um impacto significativo no desempenho. Além disso, diversas variáveis foram descontinuadas, indicando que seu uso não é mais recomendado. Essas variáveis obsoletas incluem innodb_defragment, innodb_defragment_n_pages, innodb_defragment_stats_accuracy, innodb_defragment_fill_factor_n_recs, innodb_defragment_fill_factor, innodb_defragment_frequency, innodb_file_per_table e innodb_flush_method.

Além disso, a atualização também remove as seguintes variáveis obsoletas: innodb_change_buffer_max_size e innodb_change_buffering. Essas variáveis foram eliminadas porque não são mais consideradas necessárias ou benéficas para operações ideais de banco de dados.

Estas alterações refletem o esforço contínuo para melhorar o desempenho e a estabilidade do MariaDB, garantindo que os utilizadores tenham acesso a um sistema de base de dados ágil e eficiente. Ao descontinuar e remover recursos e variáveis desatualizados, o MariaDB permanece focado em fornecer uma solução otimizada e preparada para o futuro para o gerenciamento de bancos de dados relacionais.

PhpMyAdmin é um aplicativo baseado na web desenvolvido em PHP. Esta ferramenta permite aos usuários gerenciar bancos de dados, especificamente MariaDB e MySQL, usando uma interface intuitiva. Esta ferramenta gratuita e de código aberto permite aos usuários realizar várias outras tarefas de gerenciamento de banco de dados que incluem execução de consultas, criação e modificação de tabelas, importação e exportação de dados, gerenciamento de permissões de usuário e muito mais, tudo por meio de uma interface web amigável.

Hoje aprenderemos como instalar o MariaDB 11.0 com phpMyAdmin no Rocky/AmaLinux.

Passo 1: Instale o MariaDB 11.0 no Rocky/AmaLinux

Para poder instalar o MariaDB 11.0 no Rocky/AmaLinux, você precisa adicionar os repositórios ao sistema.

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=11.1

Depois de adicionado, redefina o repositório AppStream MariaDB com os comandos:

sudo dnf -qy module disable mariadb
sudo dnf module reset mariadb -y

Agora instale o MariaDB 11 e as dependências necessárias:

sudo dnf install MariaDB-server MariaDB-client MariaDB-backup vim

Árvore de dependência:

.....
Transaction Summary
==============================================================================================
Install  9 Packages

Total download size: 65 M
Installed size: 321 M
Is this ok [y/N]: y

Depois de concluído, verifique com o comando:

$ mariadb -V
mariadb from 11.0.1-MariaDB, client 15.2 for Linux (x86_64) using readline 5.1

Inicie e ative o serviço:

sudo systemctl enable --now mariadb

Verifique se o serviço está em execução:

$ systemctl status mariadb
mariadb.service - MariaDB 11.0.1 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Sun 2023-05-21 05:14:12 EDT; 4s ago
     Docs: man:mariadbd(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 9808 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 9787 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STA>
  Process: 9785 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 9797 (mariadbd)
   Status: "Taking your SQL requests now..."
    Tasks: 11 (limit: 23505)
   Memory: 197.5M
   CGroup: /system.slice/mariadb.service
           └─9797 /usr/sbin/mariadbd
...

Endurecer MariaDB 11.0

Após a instalação, você precisa proteger a instância.

sudo mariadb-secure-installation

Proceda conforme mostrado:

Enter current password for root (enter for none): Press Enter
OK, successfully used password, moving on...
.....
Switch to unix_socket authentication [Y/n] y
...
Change the root password? [Y/n] y
New password: Set root password
Re-enter new password: Re-enter the password
Password updated successfully!
....
Remove anonymous users? [Y/n] y
....
Disallow root login remotely? [Y/n] y
....
Remove test database and access to it? [Y/n] y
...
Reload privilege tables now? [Y/n] y
 ... Success!
...
Thanks for using MariaDB!

Crie um banco de dados para PhpMyAdmin

Precisamos criar um banco de dados para ser utilizado pelo PhpMyAdmin. Primeiro, acesse o shell usando a senha root criada:

mysql -u root -p

Agora crie o banco de dados, usuário e senha com o comando:

CREATE DATABASE phpmyadmin CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'Passw0rd';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%';
FLUSH PRIVILEGES;
exit

Etapa 2: instale o PHP e as extensões necessárias

PhpMyAdmin requer PHP e vários outros módulos para funcionar. O PHP pode ser instalado no Rocky Linux/AmaLinux usando qualquer um dos guias abaixo:

  • Como instalar PHP no Rocky Linux 8/AlmaLinux 8

Você também pode instalar a versão padrão disponível e as dependências necessárias com o comando:

sudo dnf -y install php php-{cli,common,fpm,curl,gd,mbstring,process,snmp,xml,zip,memcached,mysqlnd,json,mbstring,pdo,pdo-dblib,xml}

Verifique a instalação:

$ php --version
PHP 8.2.6 (cli) (built: May  9 2023 06:25:31) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.6, Copyright (c), by Zend Technologies

Configure seu fuso horário:

$ sudo vim /etc/php.ini
date.timezone = Africa/Nairobi

Você também precisa editar o PHP-FPM conforme mostrado:

sudo vim /etc/php-fpm.d/www.conf

Faça as alterações abaixo:

user = nginx

; RPM: Keep a group allowed to write in log dir.
group = nginx

;listen = 127.0.0.1:9000
listen = /run/php-fpm/www.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Agora inicie e habilite o PHP-FPM:

sudo systemctl enable php-fpm
sudo systemctl restart php-fpm

Instale o Nginx:

sudo dnf install nginx -y

Você também precisa iniciar e ativar o NGINX

sudo systemctl start nginx
sudo systemctl enable nginx

Etapa 3: Instale o PhpMyAdmin no Rocky/AmaLinux

PhpMyAdmin não existe no Rocky/AmaLinux padrão. Para verificar isso, emita o comando abaixo:

$ dnf whatprovides phpmyadmin
Error: No Matches found

Agora, para instalar e usar o PhpMyAdmin, baixe a versão mais recente na página de downloads do phpMyAdmin. Você pode obter a versão mais recente do Wget:

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Crie um diretório para PhpMyAdmin

sudo mkdir /usr/share/nginx/phpmyadmin

Extraia o arquivo para o diretório:

sudo tar xzf phpMyAdmin-latest-all-languages.tar.gz -C /usr/share/nginx/phpmyadmin --strip-components=1

Crie uma configuração de exemplo:

sudo cp /usr/share/nginx/phpmyadmin/config{.sample,}.inc.php

Crie um segredo, você pode usar o segredo do Blowfish online e adicionar o segredo ao arquivo:

sudo vim /usr/share/nginx/phpmyadmin/config.inc.php

Faça a alteração abaixo:

$cfg['blowfish_secret'] = 'k[a9LgO=Yo:n1ayWfi:UcR=sDx;vceBl';

Defina as permissões necessárias para o arquivo:

sudo chown -R nginx:nginx  /var/lib/php/session/
sudo chown -R nginx:nginx /usr/share/nginx/phpmyadmin

Configure os contextos SELinux necessários:

sudo yum -y install policycoreutils-python-utils
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/nginx/phpmyadmin(/.*)?"
sudo restorecon -Rv /usr/share/nginx/phpmyadmin

Etapa 4: configurar o servidor Nginx para phpMyAdmin

Para poder acessar o phpMyAdmin, precisamos criar um arquivo virtualhost conforme mostrado:

sudo vim /etc/nginx/conf.d/phpmyadmin.conf

No arquivo adicione as linhas abaixo:

server {
    listen       80;
    server_name  phpmyadmin.computingforgeeks.com;
    root         /usr/share/nginx/phpmyadmin;
    
    access_log /var/log/nginx/phpmyadmin_access.log;
    error_log /var/log/nginx/phpmyadmin_error.log;

    index   index.php;

    location / {
        try_files    $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
         try_files $uri =404;
         fastcgi_intercept_errors on;
         include        fastcgi_params;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         fastcgi_pass unix:/run/php-fpm/www.sock;
     }
}

Verifique a sintaxe da configuração:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicie o Nginx:

sudo systemctl restart nginx

Permita o serviço através do firewall:

sudo firewall-cmd --zone public --add-service http
sudo firewall-cmd --permanent --zone public --add-service http
sudo firewall-cmd --reload

Etapa 5: acesse e use o phpMyAdmin

Agora você pode acessar o phpMyAdmin através do navegador usando a URL http://domain_name

Faça login usando o usuário e senha criados ou o usuário root para privilégios de administrador no MariaDB anteriormente. Uma vez autenticado, você verá isto:

Agora você pode usar o phpMyAdmin para gerenciar o MariaDB 11.0. Primeiro, crie um banco de dados de teste.

Você pode então criar tabelas nele:

Livros recomendados sobre MySQL/MariaDB:

  • Melhores livros para aprender bancos de dados MySQL/MariaDB

Veredito

Esse é o fim deste guia sobre como instalar o MariaDB 11.0 com phpMyAdmin no Rocky/AmaLinux. phpMyAdmin fornece uma maneira fácil de gerenciar o servidor MariaDB. Aqui você não precisa memorizar os comandos SQL necessários para administração do banco de dados. Espero que isso tenha sido significativo.

  • Como instalar o PHPMyAdmin no Kali Linux
  • Como instalar o MariaDB 11.0 no Ubuntu
  • Instale Apache, MariaDB, PHP (LAMP) no Rocky Linux 9

Artigos relacionados: