¡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)
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.
Base de Datos y Permisos para el Cliente
Las siguientes instrucciones para MySQL ≥ 5.1 permiten generar los usuarios y permisos necesarios:
Permisos rápidos, sin mayores configuraciones de seguridad
CREATE USER helpcom_db IDENTIFIED BY '**********'; CREATE DATABASE db_crux_helpcom; GRANT ALL ON db_crux_helpcom.* TO helpcom_db; FLUSH PRIVILEGES;
Con estos permisos, tanto el software de Helpcom como las aplicaciones clientes que se conecten (Query Browser, etc), pueden hacer de todo en la base de datos seleccionada. Esto incluye borrar todas las tablas y datos. Sin embargo no es posible hacer nada fuera de la base de datos, incluyendo crear bases de datos nuevas. Sólo se recomienda esta configuración cuando se sabe que no se necesita específicamente nada más granular.
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.
Alterar Estructuras
Para permitir al usuario helpcom_db
actualizar la estructura de las tablas se necesita agregar los permisos ALTER
y ALTER ROUTINE
:
GRANT ALTER, ALTER ROUTINE ON db_crux_helpcom.* TO helpcom_db; FLUSH PRIVILEGES;
Una vez que están aplicados estos permisos y se cierra la conexión actual de root
, las aplicaciones cliente pueden conectarse y es posible subir información a la base de datos, por ejemplo subir un dump para el cliente vía Query Browser / SQLYog.