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

Usuario de Aplicación Cliente

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

Permisos mínimos

CREATE USER helpcom_db IDENTIFIED BY '**********';
CREATE DATABASE db_crux_helpcom;
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 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 dedicado para poder alterar las estructuras de las bases de datos.

Alterar Estructuras

Para permitir al usuario helpcom_db_admin actualizar la estructura de las tablas se necesita agregar los permisos ALTER y ALTER ROUTINE, además de otros permisos de gestión, a su sentencia de privilegios:

CREATE USER helpcom_db_admin IDENTIFIED BY '***********';
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW, EXECUTE, INDEX, TRIGGER , ALTER, ALTER ROUTINE ON db_crux_helpcom.* TO helpcom_db;
FLUSH PRIVILEGES;

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, FILE ON db_crux_helpcom.* TO mysqldmp@'localhost';
FLUSH PRIVILEGES;

Subidas

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, se debe usar la cuenta helpcom_db_admin.

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