acceso a-una-base-de-datos-mediante-un-servidor

12
qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm qwertyuiopasdfghjklzxcvbnm ACCESO A UNA BASE DE DATOS MEDIANTE UN SERVIDOR LOCAL 13/10/2016 FRANCISCO AGUILAR JACOBO E IVAN LUIS JIMENEZ

Upload: francisco-aguilar-smith

Post on 11-Feb-2017

93 views

Category:

Engineering


0 download

TRANSCRIPT

qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnmqwe

ACCESO A UNA BASE DE DATOS MEDIANTE UN SERVIDOR LOCAL

13/10/2016

francisco aguilar

Contenido

1. Requerimientos para montar el servidor..............................................................................2

2. Montando el servidor...............................................................................................................3

3. Agregando usuarios al servidor.............................................................................................4

4. Agregando privilegios.............................................................................................................4

5. Conectando con el servidor...................................................................................................5

Acceso a una base de datos mediante un servidor

1. Requerimientos para montar el servidor En este documento mostraremos los pasos para montar un servidor local en Windows, aunque también podemos configurarlo de manera remota.

Para poder montarlo o trabajar de manera más cómoda es necesario verificar que la ruta donde se instaló el MySQL Server se halla agregado al path del sistema, esto para que la consola de comandos de Windows pueda ejecutar comandos de MySQL sin necesidad de tener que abrir la terminal propia de MySQL.

Para hacer esto debemos ir a la ruta donde se instaló el servidor de MySQL y pegar la ruta en el path:

Para comprobar que funciona correctamente tendremos que iniciar el servidor, podemos hacerlo de varias maneras, desde MySQL Workbench, XAMPP, desde la propia consola de MySQL o desde el símbolo de sistema de Windows. En este ejemplo lo aremos desde la consola de Windows con privilegios de administrador y el siguiente comando: net start MySQL

Para esto tienen que ver como se llama su servicio de MySQL en el administrador de servicios de Windows.

Una vez que ya iniciamos el servicio, procedemos a realizar la prueba, tecleamos el siguiente comando: mysql –u usuario –pEn donde usuario es el nombre de usuario con el cual van a ingresar y el –p para indicar la contraseña, pero sólo lo dejamos indicado, en la siguiente línea nos pedirá la contraseña.

Si todo está configurado correctamente nos mostrará la información sobre MySQL.

Con esto ya podemos trabajar y podemos montar nuestro servidor local.

2. Montando el servidor.

Para poner en marcha el servidor tenemos que iniciar el proceso del MySQL como lo indicamos en los requerimientos.

Una vez que este ejecutándose el servidor conectamos todas las computadoras a la misma red, y procedemos a obtener las ip de cada una.

Debemos tener en cuenta que todas las computadoras que se conectarán al servidor deben estar conectadas a la misma red al que está conectada la computadora que funcionará como servidor (en el caso del servidor local).

PC 1: 192.168.1.88

IP: 192.168.1.84

Servidor

Diagrama que muestra como estara distribuida las computadoras.

Despues de conectar nos vamos a la linea de comandos en la computadora que será el servidor y entramos al mysql como administrador que en este caso el usuario es ‘root’y la contraseña es la que agregamos al instalar el mysql con el siguiente comando:

mysql -u root –p

Hasta este momento ya tenemos corriendo nuestro servidor de base de datos en la red.

3. Agregando usuarios a la base de datos.

Ahora pasamos a agregar usuarios que se conectarán o tendrán permisos a la base de datos con la siguiente regla;

CREATE USER 'nombredeusuario'@'direccion-ip' IDENTIFIED BY 'contraseña';

En nuestro caso particular ejecutamos:

CREATE USER 'francisco'@'192.168.1.88' IDENTIFIED BY 'chk';

Verificamos que efectivamente se halla creado el usuario ‘francisco’. Y para eso listamos a todos los usuarios con esta sentencia.

select User from mysql.user;

Y efectivamente el usuario que creamos se agregó correctamente.

4. Agregando privilegios.

Después de haber creado el usuario, le concedemos los privilegios que nosotros consideremos que de tener dicho usuario con la siguiente sentencia:

GRANT [permiso] ON [nombre de base de datos].[nombre tabla] TO ‘nombre_usuario’@’direccion_IP’;

En nuestro caso particular ejecutamos:

GRANT SELECT, INSERT, UPDATE, DELETE ON base_datos.* TO 'francisco'@'19 2.168.1.88' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Comprobamos que se hayan agregado los permisos con la siguiente sentencia;

En nuestro caso particular ejecutamos:

SHOW GRANTS FOR 'francisco'@'192.168.1.88';

Hasta este momento ya hemos creado el usuario y le hemos concedido ciertos privilegios.

5. Conectando con el servidor.Desde la computadora que accederá al servidor en donde se encuentra la base de datos tenemos que hacer lo siguiente:

Utilizaremos la siguiente sentencia: mysql -h nombre_servidor -u nombre_usuario –p

En nuestro caso particular ejecutamos:

Mysql –h 192.168.1.84 –u francisco –p

192.168.1.84 es IP del servidor en el cual se encuentra la base de datos.

En este momento ya ingreso a la base de datos desde la otra computadora.

Ingresamos de 192.168.1.88 a 192.168.1.84

Comprobamos que el usuario sólo tiene acceso a la base de datos asignada, utilizamos la siguiente sentencia: show databases;

Y efectivamente así es.

Ahora como el administrador de base de datos creo el usuario francisco con los siguientes privilegios:

SELECT, INSERT, UPDATE, DELETE

Es lo único que podrá realizar ese usuario. Ahora comprobaremos que realmente se esté aplicando esos privilegios.

Obtiene las tablas de la base de datos, con la siguiente sentencia:

Primero: use base_datos;

Después: show tables;

Ahora insertamos un registro a la tabla proveedor:

Insert into proveedor (codpro, compro,status,ciudad) values (‘S6’, ‘IVAN LUIS’, ’3’, ‘CHILPANCINGO’);

Ahora realizamos una vista: select *from proveedor;

Como vemos nos da el permiso de realizar todas las operaciones que asigno el administrador de base de datos.

Ahora trataremos de crear una tabla en la base de datos con la siguiente sentencia:

CREATE TABLE [esquema.] nombreDeTabla (nombreDeLaColumna1 tipoDeDatos [DEFAULT valor] [restricciones] [, ...]);

En nuestro caso particular:

CREATE TABLE base_datos.empleado (clave INT NOT NULL , nombre VARCHAR(30 )NOT NULL , direccion INT(50) NOT NULL , telefono INT(10) NOT NULL ,PRIMARY KEY (clave)); ERROR 1142 (42000): CREATE command denied to user 'francisco'@'DESKTOP-V0VB06P' for table 'empleado';

Como podemos observar nos niega la consulta, ya que el privilegio de crear tablas no fue concedido por el administrador.

Eliminando permisos y usuario.

Ahora eliminaremos los permisos del usuario que creamos anteriormente con la siguiente sentencia:

REVOKE [permiso] ON [nombre de base de datos].[nombre de tabla] FROM ‘[nombre de usuario]’@‘localhost’;

En nuestro caso particular:

REVOKE ALL PRIVILEGES ON base_datos.* FROM ‘francisco’@’192.168.1.88’;

Con esto ya hemos eliminado los permisos o privilegios al usuario.

Consultamos los permisos del usuario:

Ahora el usuario no va tener ni siquiera los privilegios de usar la base de datos:

Ahora eliminaremos el usuario con la siguiente sentencia:

DROP USER ‘usuario_prueba’@‘localhost’;

En nuestro caso particular usamos la siguiente sentencia;

DROP USER ‘francisco’@’192.168.1.88’;

Para comprobar vemos los usuarios:

Y efectivamente se a eliminado el usuario.