bases_de_datos:mysql:administracion
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| bases_de_datos:mysql:administracion [2016/12/09 15:17] – [Arquitecturas de almacenamiento de tablas] alberto | bases_de_datos:mysql:administracion [2016/12/10 12:40] (actual) – [Crear usuarios y especificar privilegios] alberto | ||
|---|---|---|---|
| Línea 58: | Línea 58: | ||
| Por defecto, InnoDB crea un archivo de datos llamado //ibdata1// de 10MB autoextensible y dos archivos de log llamados // | Por defecto, InnoDB crea un archivo de datos llamado //ibdata1// de 10MB autoextensible y dos archivos de log llamados // | ||
| ===== Configuración ===== | ===== Configuración ===== | ||
| + | Los programas que componen MySQL (mysqld, mysqladmin, etc) pueden ser configurados, | ||
| + | - Línea de comandos. | ||
| + | - Ficheros de opciones. | ||
| + | - Valores de variables de entorno. | ||
| + | |||
| + | ==== Configuración por línea de comandos ==== | ||
| + | Deben seguir las siguientes reglas: | ||
| + | * Siempre se introducen después del nombre del programa. | ||
| + | * La opción va precedida de un guión si se expresa de la forma corta, o de dos guiones si es la forma larga. Por ejemplo: | ||
| + | <WRAP box> | ||
| + | c: | ||
| + | c: | ||
| + | </ | ||
| + | * Si la opción va seguida de un valor, si se usa la forma larga se especifica tras el símbolo ' | ||
| + | * Algunos de los programas tienen variables que son configurables. Para configurar estas variables se utiliza la opción **-set-variable**. Por ejemplo: | ||
| + | <WRAP box> | ||
| + | c: | ||
| + | </ | ||
| + | |||
| + | Se recomienda visitar el [[http:// | ||
| + | |||
| + | ==== Configuración por ficheros de configuración ==== | ||
| + | Los ficheros de configuración sirven para que los programas carguen la misma configuración al arrancar.\\ | ||
| + | Listado de programas que aguantan ficheros de configuración: | ||
| + | |||
| + | Los programas MySQL pueden consultar más de un fichero de configuración.\\ | ||
| + | Bajo Windows, por orden de mayor a menor preferencia: | ||
| + | - WINDIR\my.ini | ||
| + | - C: | ||
| + | |||
| + | Bajo Linux, por orden de mayor a menor preferencia: | ||
| + | - / | ||
| + | - DATADIR/ | ||
| + | - ~/ | ||
| + | |||
| + | Ha tener en cuenta: | ||
| + | * La sintaxis de estos ficheros es muy similar a la indicada en el apartado anterior.\\ | ||
| + | * Las líneas en blanco se ignoran.\\ | ||
| + | * Los comentarios (línea) se indican mediante el carácter '#', | ||
| + | * **[grupo]** Cuando algo aparece entre corchetes, se refiere al nombre del programa MySQL sobre el que tendrán efecto las opciones que se muestran a continuación. El grupo [client] permite especificar opciones que se aplican de forma común a todos los programas cliente. | ||
| + | * En el caso de **set-variable = nombre_variable=valor** hay que tener en cuenta que los espacios alrededor del símbolo ' | ||
| + | |||
| ===== Administración de usuarios ===== | ===== Administración de usuarios ===== | ||
| + | El administrador del Sistema MySQL, puede especificar: | ||
| + | * Qué usuarios pueden conectarse al servidor (usuario). | ||
| + | * Desde dónde pueden conectarse (host). | ||
| + | * Qué pueden hacer mientras están conectados (privilegios). | ||
| + | |||
| + | El " | ||
| + | * **user**: Usuarios que pueden conectar con el servidor. | ||
| + | * **db**: Privilegios a nivel base de datos. | ||
| + | * **tables_priv**: | ||
| + | * **columns_priv**: | ||
| + | |||
| + | Aunque se puden manejar los privilegios con la manipulación de estas cuatro tablas, es más cómodo usar las sentencias GRANT (crear usuarios y especificar privilegios) y REVOKE (eliminar privilegios). | ||
| + | |||
| + | ==== Crear usuarios y especificar privilegios ==== | ||
| + | Sintaxis de la sentencia GRANT: | ||
| + | <WRAP box> | ||
| + | GRANT privilegios (columnas) | ||
| + | ON nivelPrivilegio | ||
| + | TO usuario@host IDENTIFIED BY " | ||
| + | [WITH GRANT OPTION]; | ||
| + | </ | ||
| + | |||
| + | Vamos a ver qué significa cada cláusula de esta sentencia: | ||
| + | * **Privilegios**: | ||
| + | * // | ||
| + | |||
| + | ^ Privilegio | ||
| + | | ALTER | Permite alterar tablas e índices | ||
| + | | CREATE | ||
| + | | CREATE TEMPORARY TABLES | Permite crear tablas temporales (CREATE TEMPORARY TABLE) | | ||
| + | | DELETE | ||
| + | | DROP | Permite eliminar bases de datos y tablas | ||
| + | | INDEX | Permite crear y eliminar índices asociados a tablas | ||
| + | | INSERT | ||
| + | | SELECT | ||
| + | | UPDATE | ||
| + | |||
| + | * // | ||
| + | |||
| + | ^ Privilegio ^ Descripción ^ | ||
| + | | FILE | Permite leer y escribir archivos en el servidor (SELECT ... INTO OUTFILE y LOAD DATA INFILE) | | ||
| + | | PROCESS | Permite ver información sobre los procesos abiertos en el servidor (SHOW FULL PROCESSLIST) | | ||
| + | | RELOAD | Permite solicitar al servidor que cargue de nuevo en memoria las tablas del diccionario de datos(FLUSH)| | ||
| + | | REPLICATION CLIENT | Permite al usuario preguntar dónde está el servidor esclavo o maestro | | ||
| + | | REPLICATION SLAVE | Permiso necesario para que el usuario pueda acceder al fichero //binary log// del maestro desde el esclavo | ||
| + | | SHUTDOWN | Permite cerrar el servidor (mysqladmin shutdown) | | ||
| + | |||
| + | |||
| + | * // | ||
| + | |||
| + | ^ Privilegio ^ Descripción ^ | ||
| + | | ALL [PRIVILEGES] | Permite agrupar todos los privilegios en uno solo | | ||
| + | | USAGE | Es un privilegio especial que significa " | ||
| + | |||
| + | |||
| + | * **Nivel de privilegio**: | ||
| + | - //Nivel global//: Se aplican privilegios a todas las bases de datos y tablas del servidor. La forma de indicarlo será: GRANT privilegios ON *.* ... | ||
| + | - //Nivel base de datos//: Se aplican privilegios sobre todas las tablas de la base de datos nombrada: GRANT privilegios ON NombreBaseDatos.* ... | ||
| + | - //Nivel de tabla//: Se aplican privilegios sobre todas las columnas de la tabla especificada: | ||
| + | - // | ||
| + | |||
| + | * **Usuario@host**: | ||
| + | * **Contraseña**: | ||
| + | * **Cláusula WITH GRANT OPTION**: Es opcional, y significa que el usuario tiene la capacidad de transmitir sus privilegios a otros usuarios. | ||
| + | |||
| + | ==== Eliminar privilegios ==== | ||
| + | Sintaxis de la sentencia REVOKE: | ||
| + | <WRAP box> | ||
| + | REVOKE privilegios (columnas) | ||
| + | ON nivelPrivilegio | ||
| + | FROM usuario@host | ||
| + | </ | ||
| + | |||
| + | Los privilegios no tienen porqué coincidir con todos los que tiene el usuario, ya que es posible eliminar sólo la parte que interese.\\ Son los mismos privilegios y nivel de privilegio que se especificaron en el apartado anterior.\\ | ||
| + | |||
| + | Para eliminar de golpe todos los privilegios de uno o varios usuarios, se puede usar la forma: | ||
| + | <WRAP box> | ||
| + | REVOKE ALL PRIVILEGES, GRANT OPTION FROM usuario@host [, | ||
| + | </ | ||
| + | |||
| + | Eliminar todos los privilegios no supone eliminar al usuario, ya que éste aún permanece en un registro de la tabla // | ||
| + | |||
| + | ==== Eliminar una cuenta de usuario ==== | ||
| + | <WRAP box> | ||
| + | DROP USER ' | ||
| + | </ | ||
| + | |||
| + | Para poder eliminar a un usuario, anteriormente le han tenido que haber eliminado todos los privilegios.\\ | ||
| + | |||
| + | === Ver privilegios === | ||
| + | Pueden verse los privilegios de un usuario con la sentencia SHOW GRANTS: | ||
| + | <WRAP box> | ||
| + | SHOW GRANTS FOR ' | ||
| + | </ | ||
| ===== Índices ===== | ===== Índices ===== | ||
| ===== Copias de seguridad ===== | ===== Copias de seguridad ===== | ||
| ===== Ficheros Logs ===== | ===== Ficheros Logs ===== | ||
| ===== Replicación ===== | ===== Replicación ===== | ||
bases_de_datos/mysql/administracion.1481293078.txt.gz · Última modificación: por alberto
