clase2

7

Click here to load reader

Upload: geyler-pilco-ortega

Post on 27-May-2015

35 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Clase2

Permisos de UsuarioEsta página te permite crear y editar usuarios que tendrán acceso a tus bases de datosMySQL. Para cada usuario, puedes especificar un nombre, clave de acceso, máquinasautorizadas y un conjunto de permisos que determinan lo que el usuario puede hacer.

Ya que cualquier usuario de la lista que tenga permisos tendrá esos permisos en todas lasbases de datos, es normalmente buena idea no conceder a los usuarios de esta páginapermiso alguno. En su lugar, utiliza la página de Permisos de Base de Datos para concederacceso a los usuarios con base a por-base-de-datos.

Permisos de los usuarios

Select table data | Insert table data | Update table data | Delete table data | Create table |Drop tables | Reload grants | Shutdown databases | Manager processesFile operation | Grant privileges | Reference operations | Manage index | Alter tables | Showdatabases | Superuser | Create temp tables | Lock tables | Execute | Slave Replication |Client replication.

Permisos de Base de DatosEsta página te permite definir qué usuarios de MySQL tendrán acceso a qué base de datos,de qué máquinas. Cada usuario ya debe de existir en la tabla de Permisos de Usuario,aunque se les pude conceder permisos adicionales aquí.

Los usuarios no pueden hacer login desde máquina alguna que no sean las especificadas enPermisos de Usuario. Sin embargo, puedes conceder permisos diferentes para diferentesmáquinas mediante la creación de múltiples filas para el mismo usuario.

Permisos de las bases de datos

Select table data | Insert table data | Update table data | Delete table data | Create tableDrop tables | Grant privileges | Reference operations | Manage index | Alter tables | Createtemp tables | Lock tables

Page 2: Clase2

Permisos de HostEsta página te permite definir desde que maquinas los usuarios podrán tener acceso a quebase de datos. Cada usuario ya debe de existir en la tabla de Permisos de Usuario, aunquese les puede conceder permisos adicionales aquí.

Permisos de los host(Maquinas)

Select table data | Insert table data | Update table data | Delete table data | Create table |Drop tables | Grant privileges | Reference operations | Manage index | Alter tables | Createtemp tables | Lock tables

Permisos de TablaEsta página te permite conceder acceso adicional de usuarios a tablas, además de lo queesté autorizado en Permisos de Usuario o en Permisos de Base de Datos. Los permisosconcedidos aquí se aplican sólo para acceder a una tabla en una base de datos por unusuario, permitiendo de esta manera un acceso granular.

Para añadir permisos a nueva tabla, debes de seleccionar primero la base de datos en quese está usando la tabla mediante el formulario de la parte inferior de la página. Luego haz click en el botón Añadir nuevos permisos para hacer salir un formulario paraseleccionar la tabla y otros detalles.

Permisos de las tablas

Select | Insert | Update | Delete | Create | Drop | Grant | Reference | index |Alter

Permisos de CampoEste campo te permite conceder a usuarios acceso adicional a campos específicos de lastablas. Los permisos concedidos no pueden ser mayores que los especificados en lospermisos de tabla bajo permisos de campo para la tabla donde esté el campo.

Para añadir nuevos permisos de campo debes de seleccionar primero la base de datos y latabla donde está el campo mediante el formulario del final de la página. Luego haz clic en el

Page 3: Clase2

botón Añadir nuevos permisos para mostrar un formulario que permite seleccionar el campoy otros detalles.

Permisos de los campos

Select | Insert | Update | References

Permisos de acceso en la implementación de seguridad de MySQL.

Select: Permite al usuario realizar consultasInsert: Permite al usuario agregar datos a las bases de datos.Update: Utilizado para modificar los valores de los campos y registros especificadosDelete: Utilizado para eliminar registros de una tabla de una base de datosCreate: Permite al usuario crear tablas y bases de datos al servidor.Drop: Permite borrar tablas y bases de datos.

Reload: Permite a los usuarios actualizar las tablas de permisos de acceso.Shutdown: Permite al usuario dar de baja el servidor.Process: Permite al usuario consultar los procesos.File: Permite que el usuario lea y escriba archivos residentes en el servidor de MySQL. Debetener permiso al conceder este permiso, ya que puede sobre escribir algún archivo delsistema.Grant: Permite que el usuario conceda permisos(privilegios) a otros usuarios. Este privilegiodebe estar restringido a los administradores de la base de datos.References: No tiene uso actualmente.Index: Permite al usuario crear y borra índices en las tablas. Si un usuario cuenta con losprivilegios de DROP Y CREATE, debe tener Index para crear y eliminar índices.Alter: Permite que el usuario cambie la estructura de una tabla. Con este privilegio, elusuario puede agregar índices a la tabla.

Page 4: Clase2

PERMISOS DE LAS TABLAS DE MySQL.

Permisos de usuario Permiso de bases dedatos

Permisos de host Permisos detablas

Permisosde campos

Select table data Select table data Select table data Select Select

Insert table data Insert table data Insert table data Insert Insert

Update table data Update table data Update table data Update Update

Delete table data Delete table data Delete table data Delete

Create table Create table Create table Create

Drop tables Drop tables Drop tables Drop

Reload grants

Shutdown databases

Manager processes

File operation

Grant privileges Grant privileges Grant privileges Grant

Reference operations Reference operations Reference operations Reference Reference

Manage index Manage index Manage index index

Alter tables Alter tables Alter tables Alter

Show databases

Superuser

Create temp tables Create temp tables Create temp tables

Lock tables Lock tables Lock tables

Execute

Slave Replication

Client replication.

Si tienes un usuario creado y no tiene derechos algunos, no podrás accesar.Si tienes creado un usuario con todos los derechos puedes accesar y realizar lo que desees.Hay que tener cuidado con esta información es peligroso dar información de más.

Cuando creas un usuario y no le pones los privilegios por default los pone como "Ninguno"Pero al crear un usuario que no tenga ningún permiso, y no tenga ningún permiso para acceder a la basede datos tampoco podar acceder a nada aunque este en la maquina correcta con el IP correcto.

Page 5: Clase2

Para Trabajar con usuarios.

Host value User value Conexion de entrada.

'thomas.loc.gov' 'Ana' Ana se puede conectar desde thomas.loc.gov

'thomas.loc.gov' '' Cualquier usuario se puede conectar de thomas.loc.gov

'localhost' 'Ana' Ana, se conecta desde localhost

'localhost' '' Cualquier usuario se conecta desde localhost.

'%.loc.gov' 'Ana' Ana se conecta desde cualquier host en el dominio de loc.gov.

'x.y.%' 'Ana' Ana, se conecta desde x.y.net, x.y.com,x.y.edu, etc.

'144.155.166.177' ' Ana' Ana se conecta desde el host con la IP address 144.155.166.177

Sentencias soportadas por MySQL.

CRAER BORRA Y SELECCIONAR BASES DE DATOS.

CREATE DATABASE

DROP DATABASE

USE

CREAR, ALTERAR Y BORARRA TABLAS Y INDEXES

ALTER TABLE

CREATE INDEX

CREATE TABLE

DROP INDEX

DROP TABLE

OBTENER INFORMACION ACERCA DE BASES DE DATOS,TABLAS Y QUERIES

DESCRIBE

EXPLAIN

SHOW

SELECCIONAR INFORMACION DE TABLAS

SELECT

MODIFICAR INFORMACION EN TABLAS

DELETE

INSERT

LOAD DATA

OTIMIZE TABLE

REPLACE

UPDATE

SENTENCIAS ADMINISTRATIVAS

FLUSH

GRANT

KILL

REVOKE

Page 6: Clase2

SENTENCIAS MISELANEOS

CREATE FUNCTION

DROP FUNCTION

LOCK TABLES

SET

UNLOCK TABLES

MySQL 4.0 soporta cinco tipos de tablas: MyISAM, ISAM, HEAP, BDB (Base de datosBerkeley), e InnoDB. BDB e InnoDB son ambas tipos de tablas transaccionales. Además depoder trabajar con transacciones en MySQL, las tablas del tipo InnoDB también tienensoporte para la definición de claves foráneas, por lo que se nos permite definir reglas orestricciones que garanticen la integridad referencial de los registros.

A partir de la versión 4.0, MySQL ha agregado InnoDB a la lista de tipos de tablassoportados en una instalación típica. En este artículo se asume que se cuenta ya con unservidor MySQL con soporte para el tipo de tablas InnoDB. Nota: para asegurarnos que tenemos soporte para el tipo de tablas InnoDB podemosejecutar la siguiente sentencia: mysql> SHOW VARIABLES LIKE '%innodb%';+---------------------------------+------------------------+| Variable_name | Value |+---------------------------------+------------------------+| have_innodb | YES || innodb_additional_mem_pool_size | 1048576 || innodb_buffer_pool_size | 8388608 || innodb_data_file_path | ibdata1:10M:autoextend || innodb_data_home_dir | || innodb_file_io_threads | 4 || innodb_force_recovery | 0 || innodb_thread_concurrency | 8 || innodb_flush_log_at_trx_commit | 1 || innodb_fast_shutdown | ON || innodb_flush_method | || innodb_lock_wait_timeout | 50 || innodb_log_arch_dir | . || innodb_log_archive | OFF || innodb_log_buffer_size | 1048576 || innodb_log_file_size | 5242880 || innodb_log_files_in_group | 2 || innodb_log_group_home_dir | . |

Page 7: Clase2

| innodb_mirrored_log_groups | 1 || innodb_max_dirty_pages_pct | 90 |+---------------------------------+------------------------+20 rows in set (0.00 sec)

La variable más importante es por supuesto have_innodb que tiene el valor YES.