Búsqueda de sitios web

Instale MariaDB 11.0 con phpMyAdmin en Rocky/AmaLinux


MariaDB es uno de los sistemas de gestión de bases de datos relacionales (RDBMS) más populares. Fue creado como una bifurcación de MySQL después de que sus propietarios quisieran convertirlo en software pago. A lo largo de los años con un desarrollo continuo, los usuarios de MariaDB tienen la flexibilidad de seleccionar la versión que mejor se adapte a sus necesidades y esté en línea con sus aplicaciones comerciales. Hay varias otras razones por las que se prefiere MariaDB, algunas de las cuales incluyen:

  • Código abierto: esto significa que está disponible gratuitamente para su uso, modificación y distribución. Su naturaleza de código abierto fomenta la participación de la comunidad, fomenta la innovación y permite ciclos de desarrollo rápidos. También proporciona mayor transparencia, seguridad y flexibilidad en comparación con los sistemas de bases de datos propietarios.
  • Alta disponibilidad y replicación: también incluye funciones sólidas para garantizar alta disponibilidad y redundancia de datos. Admite varios métodos de replicación, incluida la replicación maestro-esclavo y la replicación de múltiples fuentes, lo que permite la creación de clústeres de bases de datos confiables y tolerantes a fallas. Esto garantiza la disponibilidad continua de datos críticos y minimiza el riesgo de pérdida de datos.
  • Comunidad activa y soporte: Tiene una gran comunidad de usuarios, desarrolladores y colaboradores. Esta comunidad brinda soporte valioso, actualizaciones periódicas, corrección de errores y mejoras de funciones. Los usuarios pueden acceder a documentación, foros y recursos extensos, lo que facilita la resolución de problemas y se mantiene actualizado con los últimos desarrollos.
  • Rendimiento y escalabilidad: Tiene varias mejoras y optimizaciones de rendimiento con respecto a sus predecesores. Proporciona una optimización de consultas mejorada, un procesamiento de datos más rápido y un uso eficiente de los recursos del sistema. Además, MariaDB ofrece funciones de escalabilidad como procesamiento paralelo, subprocesos múltiples y soporte para computación distribuida, lo que le permite manejar grandes conjuntos de datos y cargas de trabajo elevadas.
  • Compatibilidad: Está diseñado para ser altamente compatible con MySQL. Es decir, las aplicaciones y sistemas desarrollados para MySQL pueden realizar una transición perfecta a MariaDB. Esta compatibilidad garantiza una ruta de migración fluida para las empresas que utilizan MySQL y les permite aprovechar los beneficios de MariaDB sin modificaciones extensas.

Actualmente, la última versión es MariaDB 11.0. Sin embargo, esta versión sigue siendo RC y no se recomienda para entornos de producción.

Esta última actualización trae mejoras significativas al Optimizador en MariaDB. Un cambio notable es la eliminación del búfer de cambios InnoDB, que tuvo un impacto significativo en el rendimiento. Además, varias variables han quedado obsoletas, lo que indica que ya no se recomienda su uso. Estas variables obsoletas incluyen 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.

Además, la actualización también elimina las siguientes variables obsoletas: innodb_change_buffer_max_size e innodb_change_buffering. Estas variables se han eliminado porque ya no se consideran necesarias o beneficiosas para las operaciones óptimas de la base de datos.

Estos cambios reflejan el esfuerzo continuo para mejorar el rendimiento y la estabilidad de MariaDB, asegurando que los usuarios tengan acceso a un sistema de base de datos optimizado y eficiente. Al desaprobar y eliminar funciones y variables obsoletas, MariaDB sigue centrándose en ofrecer una solución optimizada y preparada para el futuro para la gestión de bases de datos relacionales.

PhpMyAdmin es una aplicación web desarrollada en PHP. Esta herramienta permite a los usuarios administrar bases de datos, específicamente MariaDB y MySQL, utilizando una interfaz intuitiva. Esta herramienta gratuita y de código abierto permite a los usuarios realizar otras tareas de administración de bases de datos que incluyen ejecutar consultas, crear y modificar tablas, importar y exportar datos, administrar permisos de usuario y mucho más, todo a través de una interfaz web fácil de usar.

Hoy aprenderemos cómo instalar MariaDB 11.0 con phpMyAdmin en Rocky/AmaLinux.

Paso 1: Instale MariaDB 11.0 en Rocky/AmaLinux

Para poder instalar MariaDB 11.0 en Rocky/AmaLinux, es necesario agregar los repositorios al sistema.

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

Una vez agregado, restablezca el repositorio de AppStream MariaDB con los comandos:

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

Ahora instale MariaDB 11 y las dependencias requeridas:

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

Árbol de dependencia:

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

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

Una vez completado, verifique con el comando:

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

Inicie y habilite el servicio:

sudo systemctl enable --now mariadb

Compruebe si el servicio se está ejecutando:

$ 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
...

Harden MaríaDB 11.0

Después de la instalación, debe proteger la instancia.

sudo mariadb-secure-installation

Proceda como se muestra:

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!

Crear una base de datos para PhpMyAdmin

Necesitamos crear una base de datos para ser utilizada por PhpMyAdmin. Primero, acceda al shell usando la contraseña de root creada:

mysql -u root -p

Ahora crea la base de datos, usuario y contraseña con el 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

Paso 2: instale PHP y las extensiones requeridas

PhpMyAdmin requiere PHP y varios otros módulos para ejecutarse. PHP se puede instalar en Rocky Linux/AmaLinux utilizando cualquiera de las siguientes guías:

  • Cómo instalar PHP en Rocky Linux 8/AlmaLinux 8

También puede instalar la versión disponible predeterminada y las dependencias requeridas con el 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 la instalación:

$ 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 su zona horaria:

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

También necesitas editar PHP-FPM como se muestra:

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

Realice los siguientes cambios:

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

Ahora inicie y habilite PHP-FPM:

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

Instalar Nginx:

sudo dnf install nginx -y

También necesitas iniciar y habilitar NGINX

sudo systemctl start nginx
sudo systemctl enable nginx

Paso 3: Instale PhpMyAdmin en Rocky/AmaLinux

PhpMyAdmin no existe en el Rocky/AmaLinux predeterminado. Para verificar eso, emita el siguiente comando:

$ dnf whatprovides phpmyadmin
Error: No Matches found

Ahora, para instalar y usar PhpMyAdmin, descargue la última versión desde la página de descargas de phpMyAdmin. Puede obtener la última versión de Wget:

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

Crear un directorio para PhpMyAdmin

sudo mkdir /usr/share/nginx/phpmyadmin

Extraiga el archivo al directorio:

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

Cree una configuración de muestra:

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

Cree un secreto, puede usar el secreto del pez globo en línea y luego agregar el secreto al archivo:

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

Realice el siguiente cambio:

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

Establezca los permisos necesarios para el archivo:

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

Configure los contextos SELinux requeridos:

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

Paso 4: configurar el servidor Nginx para phpMyAdmin

Para poder acceder a phpMyAdmin, necesitamos crear un archivo virtualhost como se muestra:

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

En el archivo agregue las siguientes líneas:

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 la sintaxis de la configuración:

$ 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 Nginx:

sudo systemctl restart nginx

Permitir el servicio a través del firewall:

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

Paso 5: acceda y utilice phpMyAdmin

Ahora puede acceder a phpMyAdmin a través del navegador usando la URL http://nombre_dominio

Inicie sesión con el usuario y la contraseña creados o el usuario root para privilegios de administrador en MariaDB anteriormente. Una vez autenticado, verá esto:

Ahora puedes usar phpMyAdmin para administrar MariaDB 11.0. Primero, cree una base de datos de prueba.

Luego puedes crear tablas en él:

Libros recomendados sobre MySQL/MariaDB:

  • Los mejores libros para aprender bases de datos MySQL/MariaDB

Veredicto

Ese es el final de esta guía sobre cómo instalar MariaDB 11.0 con phpMyAdmin en Rocky/AmaLinux. phpMyAdmin proporciona una manera sencilla de administrar el servidor MariaDB. Aquí no es necesario memorizar los comandos SQL necesarios para la administración de la base de datos. Espero que esto haya sido significativo.

  • Cómo instalar PHPMyAdmin en Kali Linux
  • Cómo instalar MariaDB 11.0 en Ubuntu
  • Instale Apache, MariaDB, PHP (LAMP) en Rocky Linux 9