PASO 01.1: INSTALACIÓN MARIADB UBUNTU /VARIAS INSTANCIAS/
INSTALACIÓN DEL SERVIDOR BASE: MARIADB
Primero actualizamos el sistema de Ubuntu 22.04 LTS. Tras las actualizaciones, lo reiniciamos.
$ sudo apt update
$ sudo apt update -y
$ sudo reboot
Tras eso , instalamos el paquete común de propiedades del software.
$ sudo apt install software-properties-common -y
Ahora, agregamos la clave de firma de MariaDB y el repositorio APT de Maria DB. Si nos sale error seguimos ejecutando los siguientes comandos y comprobamos si Maria DB está en la versión 10.6, sino es así llamar a Manolo.
$ curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup sudo bash mariadb_repo_setup --mariadb-server-version=10.6
Por último, actualizamos los paquete e instalamos la base de datos MariaDB. Tras esto, comprobamos la versión de MariaDB. Si está en 10.6, todo va bien.
$ sudo apt update
$ sudo apt install mariadb-server mariadb-client
$ systemctl status mariadb
Fuente de la información: https://computingforgeeks.com/how-to-install-mariadb-on-ubuntu-lts-linux/?expand_article=1
DETENCIÓN DEL SERVIDOR
Con este comando veremos el estado de nuestra base de datos. Al ejecutarse veremos que MariaDB está en funcionamiento.
$ sudo systemctl status mysql
Buscaremos que MariaDB esté detenido por lo que usaremos esta secuencia:
$ sudo systemctl stop mysql
Al comprobar el estado deberá de estar inacitvo. También buscamos eliminar el mysql desde el inicio para que no se arranque de forma automática.
$ sudo systemctl disable mysql
CONFIGURACIÓN DE VARIAS INSTANCIAS DE BASES DE DATOS
Todos los archivos de configuración de la base de datos están en /etc/mysql/mariadb.conf.d/
$ cd /etc/mysql/mariadb.conf.d/
Cambiaremos el nombre de archivo de la configuración principal de MariaDB ya que no nos interesa que lea este archivo.
$ sudo mv -v 50-server.cnf 50-server.cnf.backup
Ahora crearemos un nuevo archivo de configuración MariaDB
$ sudo nano 50-server-multi.cnf
Completamos la pantalla con estos datos
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
log = /var/log/mysql/mysqld_multi.log
user=multi_admin
password=secret
Al terminar de completar le damos a ctrl+X y le damos a Y, cliclamos intro y listo. Los registros del servidor MariaDB se almacenarán en este archivo /var/log/mysql/mysqld_multi.log
El mysqld_multi es el nombre del usuario que será multi_admin y la contraseña será secret. Esto es necesario para permitir apagar los permisos de las instancias del servidor.
Ejecutaremos 2 instancias como ejemplo de los pasos a seguir.
1. Primero, crearemos un archivo de configuración para la primera instancia.
$ sudo nano 50-server1.cnf
Volvemos a completarlo con los siguientes datos,
[mysqld1] user = mysql pid-file = /run/mysqld/mysqld1.pid socket = /run/mysqld/mysqld1.sock basedir = /usr datadir = /var/lib/mysql1 tmpdir = /tmp lc-messages-dir = /usr/share/mysql bind-address = 0.0.0.0 query_cache_size = 16M log_error = /var/log/mysql/mysqld1_error.log expire_logs_days = 10 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci port = 3308
Acabamos de crear la primera instancia. Para la segunda instancia será mysqld2. Así haremos, de forma consecutiva, las demás instancias.
Para hacer la segunda instancia, al ser similares, copiaremos el primer archivo 50-server1.cnf y crearemos un nuevo archivo 50-server2.cnf.
$ sudo cp -v 50-server1.cnf 50-server2.cnf
Luego ajustaremos las secciones marcadas del archivo de configuración de cada archivo creado.
$ sudo nano 50-server2.cnf
[mysqld2] user = mysql pid-file = /run/mysqld/mysqld2.pid socket = /run/mysqld/mysqld2.sock basedir = /usr datadir = /var/lib/mysql2 tmpdir = /tmp lc-messages-dir = /usr/share/mysql bind-address = 0.0.0.0 query_cache_size = 16M log_error = /var/log/mysql/mysqld2_error.log expire_logs_days = 10 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci port = 3309
CREACIÓN DE LOS ARCHIVOS DE REGISTRO
1. Creamos un archivo de registro mysqld_multi.log en el /var/log/mysql/ para el directorio mysqld_multi que será programado de la siguiente manera.
$ sudo touch /var/log/mysql/mysqld_multi.log
$ sudo chown -v mysql:adm /var/log/mysql/mysqld_multi.log
$ sudo chmod -v u=rw,g=rw,o= /var/log/mysql/mysqld_multi.log
2. Ahora creamos un archivo de registro de errores para las instancias.
$ sudo touch /var/log/mysql/mysqld1_error.log
$ sudo touch /var/log/mysql/mysqld2_error.log
3. Ahora cambiamos el propietario a mysql y el grupo admin en las instancias.
$ sudo chown -v mysql:adm /var/log/mysql/mysqld1_error.log
$ sudo chown -v mysql:adm /var/log/mysql/mysqld2_error.log
4. Establecemos los permisos de archivo correctos para los archivos de registro de errores de cada una de las instancias.
$ sudo chmod -v u=rw,g=rw,o= /var/log/mysql/mysqld1_error.log
$ sudo chmod -v u=rw,g=rw,o= /var/log/mysql/mysqld2_error.log
CREACIÓN Y PREPARACIÓN DE LOS DIRECTORIOS DE DATOS MARIADB
1. Vamos a crear los directorios en cada carpeta de mysqld(1) instancias de MariaDB
$ sudo mkdir -v /var/lib/mysql1
$ sudo mkdir -v /var/lib/mysql2
2. Cambiamos el propietario y el grupo de cada uno de los directorios.
$ sudo chown -v mysql:mysql /var/lib/mysql1
$ sudo chown -v mysql:mysql /var/lib/mysql2
3. Tras cambiar los propietarios, establecemos los permisos correctos de cada directorio.
4. Una vez introducimos todos los comandos debemos de comprobar, mediante el siguiente comando, lo que nos sale en la captura.
5. Ahora debemos de preparar cada directorio de datos MariaDB.
EJECUCIÓN DE VARIAS INSTANCIAS DE MARIADB
Podemos ejecutar cada directorio de MariaDB mediante mysqld_multi del programa. Lo comprobaremos en cada instancias con este comando.
Buscamos que estas instancias estén en funcionamiento.
Al introducir este comando volvemos a ver su estado y deben de estar running.
Como se puede ver, los puertos de la base de datos MariaDB se está ejecutando perfectamente.
PERSMISO DE APAGADO EN LAS INSTANCIAS DE MARIADB
Mysqld_multi necesita el permiso para poder detener las instancias. Para otorgar el permiso de apagado a mysqld_multi debe iniciar sesión en cada una de las instancias de la base de datos MariaDB, crear una multi_admin usuario (con la contraseña de inicio de sesión secret), y otorgar la APAGAR permiso para el multi_admin usuario.
1. Primero inicie sesión en la primera instancia.
Para crear un nuevo usuario multi_admin con la contraseña secret y concede el APAGAR permiso para el multi_admin como usuario.
MariaDB [(none)]> GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'secret';
De la misma manera haremos el número de instancias, mysql2,3,..., que tenemos instalada en la consola.
Ahora comprobamos que podemos parar las instancias con esta secuencia de códigos.
Esta última secuencia es para confirmar que las instancias no están en funcionamiento.
ARRANQUE DE VARIAS INSTANCIAS AL INICIAR EL SERVIDOR
Para iniciar automáticamente las instancias del servidor de base de datos MariaDB ya que no nos interesa arrancar manualmente los servidores, lo haremos de esta forma.
Al estar en esta pantalla damos a intro y nos saldrá esta información en pantalla.

Para que los cambios hagan efecto, reiniciamos el servidor.
Para comprobar que se ha reiniciado, introducimos este código y las instancias han de estar en activo.
Fuente de la información: https://ciksiti.com/es/chapters/4129-running-multiple-mariadb-instances-on-ubuntu-20-04-lts--li
CREAR UN NUEVO USUARIO CON TODOS LOS PERMISOS
Para crear nuevos usuarios iremos creando el mismo usuario en cada carpeta creada para las instancias ya que van por independiente. Para ello, nos redirigiremos a este archivo e instalaremos el usuario junto a sus privilegios.
1. Entraremos en el msqld, junto a al número de la instancia a la que pertenece, donde vamos a agregar al usuario.
$ sudo mysql -S /run/mysqld/mysqld1.sock -u root
2. Ya dentro, creamos el usuario junto a su contraseña y todos los privilegios. Reescribir estas rutas a mano en la konsola.
MariaDB [(none)]> CREATE USER 'orizon'@'%' IDENTIFIED BY 'Orizonsa';
Si no nos deja con % probamos con este código, luego lo cambiamos en el HeidiSQL
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'orizon'@'localhost' IDENTIFIED BY 'Orizonsa';
3. Le otorgamos todos los privilegios
MariaDB [(none)]> FLUSH PRIVILEGES;
Fuente de la información: https://www.hostinger.es/tutoriales/como-crear-usuario-mysql
Al terminar este proceso, seguiríamos en la descarga de MYSQL Workbench!