PDF de programación - MySQL básico. Bases datos y software libre (tercera parte)

Imágen de pdf MySQL básico. Bases datos y software libre (tercera parte)

MySQL básico. Bases datos y software libre (tercera parte)gráfica de visualizaciones

Publicado el 24 de Julio del 2018
170 visualizaciones desde el 24 de Julio del 2018
1,5 MB
23 paginas
mailxmail - Cursos para compartir lo que sabes

MySQL básico. Bases de datos y
software libre (tercera parte)
Autor: Editorial McGraw-Hill

1

mailxmail - Cursos para compartir lo que sabes

Presentación del curso

Curso de informática sobre MySQL básico incluida la instalación, configuración y
descarga de MySQL. En esta tercera parte de nuestro curso sobre Bases de datos y
software libre MySQL básico aprenderás a gestionar aspectos de seguridad en
MySQL como el control de los usuarios o la realización de copias de seguridad.

También aprenderás a cerca de los permisos en MySQL, cómo borrar usuarios y
cómo exportar e importar datos. Veremos la instalación, configuración y la
utilización de paquetes gráficos para realizar, visualmente, la administración y
mantenimiento de una base de datos MySQL.

Aprende con este curso de la editorial McGraw-Hill, fragmento del libro: CEO -
Operaciones con bases de datos ofimáticas y corporativas" del autor F. Oltra, J.
Albert, A. Vericat. Puedes descubrir más libros de McGraw-Hill en: www.mhe.es.

2

mailxmail - Cursos para compartir lo que sabes

1. Seguridad (primera parte)

Seguridad en MySQL

Como casi siempre cuando se mencionan bases de datos, los principales aspectos
de la seguridad están relacionados con elcontrol de los accesos a la información,
además de la protección de ésta. En este Apartado abordaremos cómo, de
manerabásica, se pueden realizar ambas tareas desde el mismo cliente texto de
MySQL

A. Gestión de usuarios

La gestión de usuarios en MySQL es muy sencilla y no difiere prácticamente de lo
que se ha ido presentando en unidadesanteriores. Este hecho obedece a que las
sentencias SQL que ya conocemos se utilizan también en MySQL, así como los
permisos típicos. En cualquier caso, conviene repasar el uso de dichas sentencias,
haciendo hincapié en las particularidades del producto quese está tratando.

Creación de usuarios en MySQL

A partir de la versión 5 de MySQL se podrán crear usuarios mediante la sentencia
CREATE USER típica, con la sintaxissiguiente:

Como se puede apreciar, simplemente se indica el nombre de usuario y, de forma
opcional, la contraseña. Sin embargo, en lasversiones anteriores a la 5 como, por
ejemplo, la que nosotros estamos utilizando, no existe todavía esta opción. Por
tanto, debemos buscar otro método para crear usuarios. Mediante la siguiente
sentencia este problema queda resuelto:

GRANT tipo-permiso [(lista-columnas)]
ON {tabla | * | *.* | base-datos.*}
TO usuario [IDENTIFIED BY `contraseña´]
[WITH GRANT OPTION];

Como se ha repetido en numerosas ocasiones, la sentencia GRANT se emplea para
asignar permisos a usuarios ya existentes. Noobstante, en MySQL el usuario se crea
automáticamente en caso de no existir.

En esta versión, esta posibilidad es la única dela que disponemos para crear
usuarios nuevos, a no ser que nos atrevamos a manipular directamente la tabla
user. Antes de mostrar un ejemplo, en la Tabla 8.3 presentamos los permisos que
pueden asignarse en MySQL.

Nota: Este curso forma parte del libro "CEO - Operaciones con bases de datos
ofimáticas y corporativas" del autor F. Oltra, J. Albert, A. Vericat, publicado por la
editorial McGraw-Hill (ISBN: 84-481-4881-9).

3

mailxmail - Cursos para compartir lo que sabes

4

mailxmail - Cursos para compartir lo que sabes

2. Seguridad (segunda parte)

Veamos un ejemplo de esta instrucción haciendo uso de un Caso práctico. Al igual
que en otros SGBD, la sentencia que permite retirar permisos a los usuarios es
REVOKE, cuya sintaxis es la siguiente:

REVOKE tipo-permiso [(lista-columnas)]
ON {tabla | * | *.* | base-datos.*}
FROM usuario;

Los tipos de permiso son los mismos que se presentan en la Tabla 8.3.

Tabla 8.3. Permisos en MySQL.

5

mailxmail - Cursos para compartir lo que sabes

3. MySQL básico. Caso práctico 1

Caso práctico1 . Vas a abrir la base de datos pruebas al exterior, dejando la
posibilidad de consultar información a cualquier usuario.

Se pide: En la base de datos pruebas, crea un usuario con nombre invitado y
contraseña hola que pueda acceder a cualquier tabla de la base de datos, pero sólo
para realizar consultas.

Solución: Habilitaremos al usuario invitado para realizar consultas (permiso SELECT)
mediante la instrucción GRANT, que al mismo tiempo lo dará de alta. La ejecución
del comando puede apreciarse en la Figura 8.38.

Fig. 8.38. Creación del usuario invitado.

A continuación, saldremos de MySQL y volveremos a entrar como invitado, nos
conectaremos a la base de datos pruebas y realizaremos una consulta sobre la tabla
asignatura. El resultado de este proceso puede observarse en la Figura 8.39.

Fig. 8.39. El usuario invitado realiza una consulta.

Seguidamente, trataremos de añadir una línea a la tabla asignatura, la misma que
acabamos de consultar. El resultado de este intento puede apreciarse en la Figura
8.40.

6

mailxmail - Cursos para compartir lo que sabes

Fig. 8.40. El usuario invitado no puede insertar filas.

Aunque el mensaje de error no aclara del todo la situación, está claro que el sistema
no permite que el usuario invitado inserte filas nuevas en la tabla. Esto obedece a
que el único permiso que se le ha otorgado a dicho usuario es SELECT, y este
permiso sólo le habilita para realizar consultas similares a la que ha efectuado en la
Figura 8.38.

7

mailxmail - Cursos para compartir lo que sabes

4. Consultar permisos. Borrado de usuarios

Consultar permisos

Para obtener una lista de los usuarios, debemos conectarnos a la base de datos
mysql y ejecutar la siguiente consulta: mysql> select user from user;.

Así, obtendremos una lista con todos los usuarios definidos. Para saber con qué
bases de datos puede trabajar un usuario y con qué permisos, usaremos SHOW
GRANTS FOR usuario. Supongamos que deseamos localizar al usuario invitado y
consultar sus permisos en las diferentes bases de datos creadas. En la Figura 8.41
puede apreciarse el resultado del proceso.

Fig. 8.41. Consulta de los permisos de un usuario.
Como se observa en la figura, el usuario invitado tiene el permiso USAGE para todos
los archivos de todas las bases de datos. En otras palabras, este usuario sólo puede
conectarse. Sin embargo, dispone además del permiso SELECT para la base de datos
pruebas, que le habilita a la hora de realizar consultas.

Borrado de usuarios

En MySQL es posible borrar usuarios mediante la instrucción DROP USER que, al
contrario de CREATE USER, también existe en versiones anteriores a la 5. No
obstante, en estas versiones sólo pueden eliminarse usuarios sin permisos, por lo
que antes de borrar una cuenta de usuario deberán eliminarse todos sus permisos
mediante la instrucción REVOKE. Imaginemos que deseamos eliminar al usuario
invitado que hemos creado para la práctica anterior. Los pasos a seguir son los que
se reproducen en la Figura 8.42.

8

mailxmail - Cursos para compartir lo que sabes

Fig. 8.42. Eliminación de una cuenta de usuario.

9

mailxmail - Cursos para compartir lo que sabes

5. Copias, exportación e importación

Copias, exportación e importación

El control de la seguridad de la información supone una parte muy importante en la
gestión de bases de datos. Dejando apartela gestión de usuarios, la principal
medida a la hora de asegurar los datos es la realización de copias de seguridad.

Copias de seguridad

En primer lugar, es preciso señalar que no sirve de nada copiar los ficheros de datos
de la carpeta correspondiente a la basede datos (en nuestro caso, pruebas) desde
Data a otro directorio. El motivo reside en que en la propia carpeta raíz Data se
encuentran los ficheros correspondientes al diccionario de datos,que incluyen
información necesaria para gestionar el contenido de la base de datos.
En todo caso, si queremos duplicar la carpeta, deberíamos hacerlo con todo el
contenido de Data, con lo que realmenteestaríamos copiando todas las bases de
datos.

Para copiar sólo una base de datos, o incluso solamente ciertas tablas, lamejor
opción es crear un fichero de sentencias en lenguaje SQL que permitan, llegado el
caso, reconstruir los ficheros yrecuperar su contenido. Una posibilidad muy sencilla
para realizar copias de seguridad consiste en la utilización del comando
MYSQLDUMP. Las numerosas opciones que ofrece MYSQLDUMP pueden consultarse
desde la línea de comandos, sin entrar en MySQL, tecleando mysqldump-help. Para
copiar nuestra base de datos pruebas, tanto la estructura de las tablas como su
contenido, saldremos a la línea decomandos tecleando cmd.exe en el apartado
Ejecutar del menú Windows y escribiremos:

mysqldump --u=root -password=obdoc -opt -
complete_insert pruebas > pruebas.sql

Las opciones --u=root y -password=obdoc no necesitan comentarios. La opción
-opt reúne en sí misma varias características deconfiguración necesarias para
realizar la copia. -complete_insert indica que se va a incluir en el fichero una copia
de losdatos y, a continuación, figura el nombre de la base de datos, en nuestro caso
pruebas.

Finalmente, la salida de la instrucción se redirige a un fichero con extensión .sql,
que contendrá todas las instruccionesnecesarias para recuperar los ficheros de la
base de datos si fuera preciso. Es posible realizar también una copia de seguridad
de una o varias tablas. Para ello, se incluirán los nombres de las
tablascorrespondientes a continuación del nombre de la base de datos. Si, por
ejemplo, deseáramos copiar la tabla asignatura,resultaría un comando como el que
se reproduce en la Figura 8.43.

Fig. 8.43. Copia de seguridad de la tabla asignatura.

1 0

mailxmail - Cursos para compartir lo que sabes

Fig. 8.43. Copia de seguridad de la tabla asignatura.

Parte del contenido del fichero asig.sql que se ha generado durante el proceso de
copiado puede apreciarse en la Figu
  • Links de descarga
http://lwp-l.com/pdf12683

Comentarios de: MySQL básico. Bases datos y software libre (tercera parte) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad