Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
f1:mysql_server_permisos [2017/12/27 13:59] – creado lmachuca | f1:mysql_server_permisos [2019/07/12 15:20] (actual) – lmachuca | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== MySQL Server Configurar Permisos ===== | + | ====== 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: | + | Una vez [[MySQL Server|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: | Linux / consolas: | ||
Línea 7: | Línea 7: | ||
mysql -u root -p | mysql -u root -p | ||
(contraseña de root) | (contraseña de root) | ||
- | | + | |
+ | mysql -h localhost -u root -p | ||
GUI Windows (Query Browser, etc): | GUI Windows (Query Browser, etc): | ||
Línea 24: | Línea 26: | ||
* El software cliente se conecta a una base de datos, por ejemplo '' | * El software cliente se conecta a una base de datos, por ejemplo '' | ||
* El software cliente necesita permisos para -al menos- insertar, modificar y eliminar libremente información en la base de datos deseada. | * 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, | ||
- | ==== Base de Datos y Permisos para el Cliente | + | ===== Base de Datos de Aplicación ===== |
- | Las siguientes instrucciones **para MySQL ≥ 5.1** permiten generar los usuarios y permisos necesarios: | + | Estos pasos se llevan a cabo con un usuario con privilegios, |
- | **Permisos rápidos, sin mayores configuraciones | + | Aquí cambiamos el " |
<code mysql> | <code mysql> | ||
- | CREATE USER helpcom_db IDENTIFIED BY ' | ||
CREATE DATABASE db_crux_helpcom; | CREATE DATABASE db_crux_helpcom; | ||
- | GRANT ALL ON db_crux_helpcom.* TO helpcom_db; | + | </ |
- | FLUSH PRIVILEGES; | + | |
+ | |||
+ | ===== Usuario de Aplicación Cliente ===== | ||
+ | |||
+ | Las siguientes instrucciones **para MySQL ≥ 5.1** permiten generar los usuarios y permisos necesarios: | ||
+ | |||
+ | ** Creación del usuario** | ||
+ | |||
+ | <code mysql> | ||
+ | CREATE USER helpcom_db IDENTIFIED BY ' | ||
</ | </ | ||
- | 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 todos los 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 nada más granular. | ||
**Permisos mínimos** | **Permisos mínimos** | ||
+ | |||
+ | (Reemplazar " | ||
<code mysql> | <code mysql> | ||
- | CREATE | + | GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE |
- | CREATE DATABASE db_crux_helpcom; | + | , CREATE |
- | GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, CREATE VIEW, EXECUTE, INDEX, SHOW VIEW, TRIGGER ON db_crux_helpcom.* TO helpcom_db; | + | , 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; | FLUSH PRIVILEGES; | ||
- | |||
</ | </ | ||
- | **Nota**: bajo estos permisos, para poder llevar a cabo actualizaciones de estructura de tablas o poder limpiar o borrar la base de datos, 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. | + | **Nota**: bajo estos permisos, para poder llevar a cabo actualizaciones de estructura de tablas |
- | Para permitir | + | ===== Usuario de Administración ===== |
+ | |||
+ | Para permitir | ||
+ | |||
+ | **Creación del usuario**: | ||
<code mysql> | <code mysql> | ||
- | GRANT ALTER ON db_crux_helpcom.* TO helpcom_db; | + | CREATE USER helpcom_admin IDENTIFIED BY ' |
+ | </ | ||
+ | |||
+ | **Asignación de permisos** | ||
+ | |||
+ | <code mysql> | ||
+ | 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, | ||
+ | ON `%helpcom%`.* TO helpcom_admin; | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
+ | </ | ||
+ | :!: Nota: Estos permisos permiten borrar tablas completas. | ||
+ | |||
+ | |||
+ | ===== Respaldos ===== | ||
+ | |||
+ | Para [[: | ||
+ | |||
+ | <code mysql> | ||
+ | CREATE USER mysqldump@' | ||
+ | GRANT SELECT, LOCK TABLES, SHOW VIEW, TRIGGER ON db_crux_helpcom.* TO mysqldmp@' | ||
+ | GRANT FILE ON *.* TO mysqldump@' | ||
+ | FLUSH PRIVILEGES; | ||
</ | </ | ||
- | ---- | + | =====Gestión===== |
+ | |||
+ | Una vez que están aplicados los permisos y se cierra la conexión actual de '' | ||
- | Una vez que están aplicados estos permisos y se cierra la conexión actual de '' | + | Para **subir |
+ | 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 '' | ||