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):
localhost
(o 127.0.0.1
o ::1
)root
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:
helpcom_db
.db_crux_helpcom
.helpcom_db_admin
.
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;
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
(Reemplazar “nombreproducto” por el nombre de producto por ejemplo crux
, remuneraciones
, etc)
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE , CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW , EXECUTE, INDEX, TRIGGER ON `db\_nombreproducto\_%`* TO helpcom_db; GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE , CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW , EXECUTE, INDEX, TRIGGER ON `%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.
Para permitir alterar la estructura y borrar o subir nuevas tablas, creamos el usuario helpcom_admin
el cual tendrá más privilegios que el usuario de helpcom normal.
Creación del usuario:
CREATE USER helpcom_admin IDENTIFIED BY '***********';
Asignación de permisos
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE , CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW , EXECUTE, INDEX, TRIGGER , ALTER, ALTER ROUTINE, CREATE, DROP, REFERENCES ON `db\_nombreproducto\_%`.* TO helpcom_admin; GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE , CREATE TEMPORARY TABLES, CREATE VIEW, SHOW VIEW , EXECUTE, INDEX, TRIGGER , ALTER, ALTER ROUTINE, CREATE, DROP, REFERENCES ON `%helpcom%`.* TO helpcom_admin; FLUSH PRIVILEGES;
Nota: Estos permisos permiten borrar tablas completas.
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;
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
.