¡Esta es una revisión vieja del documento!
Tabla de Contenidos
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
(o127.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
.