GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar Mariadb 10 en Debian 11

MariaDB se desarrolló como una bifurcación de software de MySQL en 2009 en respuesta a la adquisición de MySQL por parte de Oracle. MariaDB tiene la intención de seguir siendo un software libre y de código abierto bajo la Licencia Pública General GNU. Es parte de la mayoría de las ofertas en la nube y el valor predeterminado en la mayoría de las distribuciones de Linux.

En esta guía aprenderemos a instalar y configurar MariaDB en Debian 11.

Publicaciones relacionadas

  • Cómo instalar Mysql 8 en Rocky Linux/Centos 8
  • Cómo instalar y configurar Mariadb 10 en Ubuntu 20.04
  • Cómo instalar y configurar Mariadb en Fedora 35
  • Cómo instalar y configurar mysql 8 en Ubuntu 20.04

Requisitos

Para seguir, asegúrese de tener:

  • Un servidor Debian 11 actualizado
  • Acceso root al servidor o usuario con acceso Sudo
  • Acceso a Internet desde el servidor

Tabla de contenido

  1. Actualizar sistema
  2. Instalando Mariadb
  3. Configuración de Mariadb
  4. Opcional:Ajuste de la autenticación y los privilegios del usuario
  5. Prueba de MariaDB

1. Actualizar el sistema

Antes de continuar, asegurémonos de que el servidor Debian esté actualizado. Primero actualice los repositorios y luego realice una actualización del sistema para asegurarse de que todos los paquetes instalados estén actualizados:

En su terminal, escriba estos. El -y opción en apt upgrade es garantizar que el sistema no se detenga para que aceptemos la actualización.

$ sudo apt update
$ sudo apt upgrade -y

2. Instalando mariadb

Mariadb se encuentra en los repositorios predeterminados de Debian. Utilice este comando para instalar el servidor de la base de datos:

sudo apt install -y mariadb-server

Mariadb se iniciará de forma predeterminada.

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.5.12 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 07:31:38 UTC; 32s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 32218 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 32219 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32221 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_>
    Process: 32328 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 32330 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 32296 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 14 (limit: 4626)
     Memory: 76.9M
        CPU: 703ms
     CGroup: /system.slice/mariadb.service
             └─32296 /usr/sbin/mariadbd

Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: mysql
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 6/7: Checking and upgrading tables
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Processing databases
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: information_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: performance_schema
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32335]: OK
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32945]: Checking for insecure root accounts.
Nov 12 07:31:40 ip-10-2-40-39 /etc/mysql/debian-start[32952]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

3. Configurando MariaDB

Para las nuevas instalaciones de MariaDB, el siguiente paso es ejecutar el script de seguridad incluido. Este script cambia algunas de las opciones predeterminadas menos seguras. Lo usaremos para bloquear la raíz remota. inicios de sesión y eliminar usuarios de la base de datos no utilizados.

Ejecute el script de seguridad:

sudo mysql_secure_installation

Esto lo llevará a través de una serie de indicaciones donde puede realizar algunos cambios en las opciones de seguridad de su instalación de MariaDB. El primer mensaje le pedirá que ingrese la base de datos actual raíz clave. Como aún no hemos configurado uno, presiona ENTER para indicar "ninguno".

El siguiente mensaje le pregunta si desea configurar una base de datos raíz clave. Escribe N y luego presiona ENTER . En Debian, la raíz La cuenta de MariaDB está estrechamente relacionada con el mantenimiento del sistema automatizado, por lo que no debemos cambiar los métodos de autenticación configurados para esa cuenta. Si lo hiciera, sería posible que la actualización de un paquete rompiera el sistema de la base de datos al eliminar el acceso a la cuenta administrativa. Más adelante, cubriremos cómo configurar opcionalmente una cuenta administrativa adicional para el acceso con contraseña si la autenticación de socket no es apropiada para su caso de uso.

Desde allí, puedes presionar Y y luego ENTER para aceptar los valores predeterminados para todas las preguntas posteriores. Esto eliminará algunos usuarios anónimos y la base de datos de prueba, deshabilitará la raíz remota. inicios de sesión y cargue estas nuevas reglas para que MariaDB respete inmediatamente los cambios que ha realizado.

Esta es la salida de mi servidor

$ sudo mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n]
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

4. Opcional:Ajuste de la autenticación y los privilegios del usuario

En los sistemas Debian que ejecutan MariaDB 10, la raíz El usuario de MariaDB está configurado para autenticarse mediante unix_socket plugin de forma predeterminada en lugar de con una contraseña. Esto permite mayor seguridad y facilidad de uso en muchos casos, pero también puede complicar las cosas cuando necesita otorgar derechos administrativos a un programa externo (por ejemplo, phpMyAdmin).

Porque el servidor usa la raíz cuenta para tareas como la rotación de registros y el inicio y la detención del servidor, es mejor no cambiar la raíz detalles de autenticación de la cuenta. Cambio de credenciales en /etc/mysql/debian.cnf El archivo de configuración puede funcionar inicialmente, pero las actualizaciones del paquete podrían sobrescribir esos cambios. En lugar de modificar la raíz cuenta, los mantenedores del paquete recomiendan crear una cuenta administrativa separada para el acceso basado en contraseña.

Para hacerlo, crearemos una nueva cuenta llamada admin con las mismas capacidades que la raíz cuenta, pero configurado para la autenticación de contraseña. Para hacer esto, abra el aviso de MariaDB desde su terminal y luego cree un nuevo usuario con root privilegios y acceso basado en contraseña. Cambie el nombre de usuario y la contraseña para que coincidan con sus preferencias:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 56
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'T*[email protected]^RDibAc%puz' WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;

5. Probando MariaDB

Ahora que mariadb está configurado y en ejecución, debemos confirmar que puede aceptar conexiones.

Para probar, conéctese a mariadb con el usuario raíz: mysql -h 127.0.0.1 -u root -p

Salida:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 54
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Comprobar la versión de mariadb:

MariaDB [(none)]> SELECT VERSION();
+---------------------------+
| VERSION()                 |
+---------------------------+
| 10.5.12-MariaDB-0+deb11u1 |
+---------------------------+
1 row in set (0.000 sec)

MariaDB [(none)]>

Para una verificación adicional, puede intentar conectarse a la base de datos usando mysqladmin tool, que es un cliente que le permite ejecutar comandos administrativos. Por ejemplo, este comando dice que se conecte a MariaDB como root y devolver la versión usando el socket Unix:

sudo mysqladmin version

Debería recibir un resultado similar a este:

$ sudo mysqladmin version
mysqladmin  Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Server version		10.5.12-MariaDB-0+deb11u1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/run/mysqld/mysqld.sock
Uptime:			1 hour 38 min 27 sec

Threads: 1  Questions: 490  Slow queries: 0  Opens: 171  Open tables: 28  Queries per second avg: 0.082

Dado que configuró un usuario administrativo independiente con autenticación de contraseña, puede realizar la misma operación escribiendo:

mysqladmin -u admin -p version

Esto significa que MariaDB está funcionando y que su usuario puede autenticarse correctamente.

Conclusión

En esta guía, instaló MariaDB para que actúe como un servidor SQL. Durante el proceso de instalación, también protegió el servidor.


Debian
  1. Cómo instalar y configurar Redis 6.0 en Debian 11

  2. Cómo instalar y configurar Mariadb 10 en Ubuntu 20.04

  3. Cómo instalar y configurar Mariadb en Fedora 35

  4. Cómo instalar y configurar MongoDB 5 en Debian 11

  5. Cómo instalar y configurar Redis 6 en Debian 11

Cómo instalar y configurar Monit en Debian 9

Cómo instalar y configurar Tripwire IDS en Debian 10

Cómo instalar y configurar RabbitMQ en Debian 11

Cómo instalar y configurar Memcached en Debian 11

Cómo instalar y configurar Git en Debian 11

¿Cómo instalar y configurar Apache en Debian 11?