Permisos de Usuario Esta página te permite crear y editar usuarios que tendrán acceso a tus bases de datos MySQL. Para cada usuario, puedes especificar un nombre, clave de acceso, máquinas autorizadas 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 las bases de datos, es normalmente buena idea no conceder a los usuarios de esta página permiso alguno. En su lugar, utiliza la página de Permisos de Base de Datos para conceder acceso 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 processes File operation | Grant privileges | Reference operations | Manage index | Alter tables | Show databases | Superuser | Create temp tables | Lock tables | Execute | Slave Replication | Client replication. Permisos de Base de Datos Esta 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 en Permisos de Usuario. Sin embargo, puedes conceder permisos diferentes para diferentes má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 table Drop tables | Grant privileges | Reference operations | Manage index | Alter tables | Create temp tables | Lock tables Permisos de Host Esta página te permite definir desde que maquinas los usuarios podrán tener acceso a que base de datos. Cada usuario ya debe de existir en la tabla de Permisos de Usuario, aunque se 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 | Create temp tables | Lock tables Permisos de Tabla Esta página te permite conceder acceso adicional de usuarios a tablas, además de lo que esté autorizado en Permisos de Usuario o en Permisos de Base de Datos. Los permisos concedidos aquí se aplican sólo para acceder a una tabla en una base de datos por un usuario, permitiendo de esta manera un acceso granular. Para añadir permisos a nueva tabla, debes de seleccionar primero la base de datos en que se 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 para seleccionar la tabla y otros detalles. Permisos de las tablas Select | Insert | Update | Delete | Create | Drop | Grant | Reference | index | Alter Permisos de Campo Este campo te permite conceder a usuarios acceso adicional a campos específicos de las tablas. Los permisos concedidos no pueden ser mayores que los especificados en los permisos 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 la tabla donde está el campo mediante el formulario del final de la página. Luego haz clic en el botón Añadir nuevos permisos para mostrar un formulario que permite seleccionar el campo y 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 consultas Insert: Permite al usuario agregar datos a las bases de datos. Update: Utilizado para modificar los valores de los campos y registros especificados Delete: Utilizado para eliminar registros de una tabla de una base de datos Create: 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. Debe tener permiso al conceder este permiso, ya que puede sobre escribir algún archivo del sistema. Grant: Permite que el usuario conceda permisos(privilegios) a otros usuarios. Este privilegio debe 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 los privilegios 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, el usuario puede agregar índices a la tabla. PERMISOS DE LAS TABLAS DE MySQL. Permisos de usuario Permiso de bases de Permisos de host datos Permisos de tablas Permisos de 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 Grant privileges Grant privileges Grant Reload grants Shutdown databases Manager processes File operation Grant privileges Reference operations Reference operations Reference operations Reference Manage index Manage index Manage index index Alter tables Alter tables Alter tables Alter Create temp tables Create temp tables Create temp tables Lock tables Lock tables Lock tables Reference Show databases Superuser 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 base de datos tampoco podar acceder a nada aunque este en la maquina correcta con el IP correcto. 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' 'localhost' '' Ana, se conecta desde 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 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 datos Berkeley), e InnoDB. BDB e InnoDB son ambas tipos de tablas transaccionales. Además de poder trabajar con transacciones en MySQL, las tablas del tipo InnoDB también tienen soporte para la definición de claves foráneas, por lo que se nos permite definir reglas o restricciones 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 tablas soportados en una instalación típica. En este artículo se asume que se cuenta ya con un servidor MySQL con soporte para el tipo de tablas InnoDB. Nota: para asegurarnos que tenemos soporte para el tipo de tablas InnoDB podemos ejecutar 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 | . | | | 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.