¡Esta es una revisión vieja del documento!


MySQL Server Configurar Permisos

Una vez instalado e iniciado un servicio MySQL, es posible entrar por una consola al usuario root para llevar a cabo el levantamiento de usuarios y bases de datos inicial:

Linux / consolas:

mysql -u root -p
(contraseña de root)
# Alternativamente, en Debian 9 o 10 con las notas de post-instalación de la página anterior
mysql -h localhost -u root -p

GUI Windows (Query Browser, etc):

  • Host: localhost (o 127.0.0.1 o ::1)
  • User: root
  • Pass: la contraseña de root.
  • Schema: (vacío)

:!: Desde MySQL 5.6 en adelante, o en Windows 10, usar localhost tiene un resultado diferente de usar las IP de loopback dependiendo de la configuración de seguridad del servidor y de los firewall instalados. Si usar localhost no funciona, es importante chequear las configuraciones de los software antivirus / firewall.

La configuración general para un cliente de Helpcom se puede describir en tres puntos:

  • El software cliente utiliza un usuario de MySQL, usualmente helpcom_db.
  • El software cliente se conecta a una base de datos, por ejemplo db_crux_helpcom.
  • El software cliente necesita permisos para -al menos- insertar, modificar y eliminar libremente información en la base de datos deseada.
  • Para poder modificar tablas en caso de actualizaciones, es mejor usar un usuario diferente el cual tiene permisos para truncar, alterar y borrar según sea necesario. En este caso crearemos el usuario helpcom_db_admin.

Base de Datos de Aplicación

Estos pasos se llevan a cabo con un usuario con privilegios, usualmente root.

Aquí cambiamos el “crux” y “helpcom” por el nombre de producto y nombre de la base de datos que deseemos.

CREATE DATABASE db_crux_helpcom;

Usuario de Aplicación Cliente

Las siguientes instrucciones para MySQL ≥ 5.1 permiten generar los usuarios y permisos necesarios:

Creación del usuario

CREATE USER helpcom_db IDENTIFIED BY '**********';

Permisos mínimos

GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES
, CREATE VIEW, SHOW VIEW, EXECUTE, INDEX, TRIGGER 
ON db_crux_helpcom.* TO helpcom_db;
FLUSH PRIVILEGES;

Nota: bajo estos permisos, para poder llevar a cabo actualizaciones de estructura de tablas (ALTER) o poder limpiar o borrar la base de datos (CREATE, DROP), o llevar cualquier acción administrativa en MySQL (crear usuarios o cambiar permisos) es necesario conectar como root en localhost lo que significa conectarse directamente desde el mismo servidor, o utilizar un puente SSH para acceder al puerto de manera local. El siguiente paso crea un usuario de administración para la base de datos, dedicado a poder alterar las estructuras, borrar tablas o subir dumps.

Usuario de Administración

Para permitir alterar la estructura y borrar o subir nuevas tablas, creamos el usuario helpcom_db_admin el cual tendrá más privilegios que el usuario de helpcom normal.

Creación del usuario:

CREATE USER helpcom_db_admin IDENTIFIED BY '***********';

Asignación de permisos

GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES
, CREATE VIEW, SHOW VIEW, EXECUTE, EVENT, INDEX, TRIGGER 
, ALTER, ALTER ROUTINE, CREATE, DROP
ON db_crux_helpcom.* TO helpcom_db_admin;
FLUSH PRIVILEGES;

:!: Nota: Estos permisos permiten borrar tablas completas.

Respaldos

Para configurar respaldos diarios de MySQL, éstos son los permisos que la cuenta debe tener:

CREATE USER mysqldump@'localhost' IDENTIFIED BY 'mysqldump';
GRANT SELECT, LOCK TABLES, SHOW VIEW, TRIGGER ON db_crux_helpcom.* TO mysqldmp@'localhost';
GRANT FILE ON *.* TO mysqldump@'localhost';
FLUSH PRIVILEGES;

Gestión

Una vez que están aplicados los permisos y se cierra la conexión actual de root, las aplicaciones cliente pueden conectarse usando la cuenta de aplicación helpcom_db.

Para subir la estructura e información inicial por ejemplo desde un mysqldump, o para truncar o borrar tablas, se debe usar la cuenta helpcom_db_admin por local o remoto, o la cuenta root por local.

Para crear o eliminar bases de datos o crear o eliminar usuarios, se debe conectar al servidor de manera local para entrar a la consola de MySQL de root.

f1/mysql_server_permisos.1542137191.txt.gz · Última modificación: 2018/11/13 19:26 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0