Está en la página 1de 2

INSTALAR MariaDB en DEBIAN para conexión remota

1. Instalar MariaDB

sudo apt update


sudo apt install mariadb-server

2. Crear un usuario administrador (local). El usuario debe ser usuario Debian ya creado
(suponemos que tenemos creado al usuario "alumno" en linux).

sudo mariadb | sudo mysql

MariaDB [(none)]>

GRANT ALL ON *.* TO 'alumno'@'localhost' IDENTIFIED BY 'password' WITH


GRANT OPTION;

CREATE USER 'usuario'@'host' IDENTIFIED BY 'password'; /alternativa+permisos

• GRANT ALL ON *.*: Concede permisos totales en todas las DB y sus tablas.
• TO 'user'@'localhost' : Usuario para conexiones locales.
• IDENTIFIED BY 'password': Especificamos la contraseña.
• WITH GRANT OPTION: Concedemos permisos al usuario para que pueda crear otros
usuarios de su mismo nivel o inferior

Aplicar cambios y salir

FLUSH PRIVILEGES;
exit

3. Habilitar conexión externas

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Buscamos la directiva bind-address y la dejamos así:

bind-address = 0.0.0.0

4. Reiniciar el servicio de mariaDB

sudo systemctl restart mariadb

5. Acceder al gestor como usuario con contraseña

mariadb -u nombre_usuario -p

6. Dar acceso al usuario local para permitirle también conexión remotas

GRANT ALL ON *.* TO 'alumno'@'%' IDENTIFIED BY 'alumno' WITH GRANT OPTION;


FLUSH PRIVILEGES;
exit

/* % → permite la conexión desde cualquier host externo */


7. Modificar/otorgar permisos de usuario.

Se le asignan nuevos permisos, los antiguos quedan sin efecto. Sintaxis general:

GRANT permisos ON base_datos.tabla TO 'usuario'@'host';

Ejemplos:

GRANT INSERT,UPDATE,SELECT ON prueba.* TO 'alumno'@'localhost';


/* Damos permiso para insertar, modificar y seleccionar al usuario
"alumno" dentro de la base de datos "prueba" y en todas las tablas (*) */

GRANT ALL ON *.* TO 'a208p10'@'10.208.10.1';


/* se permite conexión solo desde el host de ip: 10.208.10.1 */

GRANT ALL ON *.* TO 'a208p10'@'10.208.%.%'; /* % → cualquiera */


/* se permite conexión desde cualquier host del aula 208 */

GRANT ALL PRIVILEGES ON `p51\_%`.* to 'a208p51'@'10.208.51.1';


/* Todos los privilegios pero solo para las bases de datos cuyo nombre de
comienzo por "p51_" */

9. Ver los usuarios

select host, user from mysql.user;

10. Borrado de usuarios

DROP USER 'a208p10'@'10.208.10.1'

11. Configuración básica de seguridad (opcional en linux)


sudo mysql_secure_installation

ASIGNAR PRIVILEGIOS

Existen diferentes tipos de privilegios que podemos asignar a los usuarios de un SGBD con
MySQL/MariaDB. A continuación se detallan todos ellos y que hace cada uno de ellos:
• ALL PRIVILEGES: le otorgaría a un usuario de MySQL acceso completo a una base de datos
designada (o si no se selecciona ninguna base de datos, acceso global a todo el sistema)
• CREATE: Permite crear nuevas tablas o bases de datos
• DROP: Permite eliminar tablas o bases de datos
• DELETE: Permite eliminar filas de las tablas
• INSERT: Permite insertar filas en las tablas
• SELECT: Les permite usar el comando SELECT para leer las bases de datos
• UPDATE: Permite actualizar las filas de las tablas
• GRANT OPTION: Permite otorgar o eliminar privilegios de otros usuarios

SERVIDOR DEBIAN-MARIADB

IP: 10.19.12.220
Nombre DNS: des-bd01.informatica.cifpaviles.pa (des → de desarrollo)
Nombre corto: des-bd01

También podría gustarte