Diferencia entre revisiones de «Servidores de Base de Datos»
(Etiqueta: nuestro-nuestra) |
(Etiqueta: nuestro-nuestra) |
||
| Línea 71: | Línea 71: | ||
'''Bye''' | '''Bye''' | ||
| − | ===Configuración | + | ===Configuración desde un host remoto=== |
| Línea 89: | Línea 89: | ||
Para que todos los demás ordenadores tengan acceso al servidor. Para más seguridad puedes poner solamente una lista de las IPs de los ordenadores que quieres que tengan acceso. Si aún no te puedes conectar desde un ordenador remoto tendrás que editar el fichero /etc/hosts.allow y añadir la línea: '''mysqld: all''' | Para que todos los demás ordenadores tengan acceso al servidor. Para más seguridad puedes poner solamente una lista de las IPs de los ordenadores que quieres que tengan acceso. Si aún no te puedes conectar desde un ordenador remoto tendrás que editar el fichero /etc/hosts.allow y añadir la línea: '''mysqld: all''' | ||
| + | ===Gestión de usuarios=== | ||
| + | '''Crear un usuario''' | ||
| + | Para la creación de usuarios tendremos que conectarnos al servidor MySQL (ver más arriba) con un usuario que tenga el permiso global CREATE USER o el permiso INSERT para la base de datos mysql. | ||
| + | La sintaxis es la siguiente: | ||
| + | |||
| + | '''CREATE USER usuario IDENTIFIED BY 'password';''' | ||
| + | |||
| + | '''Eliminar un usuario''' | ||
| + | |||
| + | El usuario que usemos en la conexión debe tener el permiso global CREATE USER o el permiso DELETE para la base de datos mysql. | ||
| + | |||
| + | La sintaxis es la siguiente: | ||
| + | |||
| + | '''DROP USER usuario;''' | ||
| + | |||
| + | '''Dar permisos a un usuario''' | ||
| + | |||
| + | Los permisos pueden darse en varios niveles: | ||
| + | |||
| + | *Nivel global. | ||
| + | |||
| + | *Nivel de base de datos. | ||
| + | |||
| + | *Nivel de tabla. | ||
| + | |||
| + | La sintaxis es: | ||
| + | |||
| + | '''GRANT tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} TO usuario;''' | ||
| + | |||
| + | Así para dar el permiso SELECT al usuario pepe sería: | ||
| + | |||
| + | '''GRANT SELECT ON *.* TO pepe;''' | ||
| + | |||
| + | '''Quitar permisos a un usuario''' | ||
| + | |||
| + | La sintaxis es: | ||
| + | |||
| + | '''REVOKE tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} FROM usuario;''' | ||
| + | |||
| + | |||
| + | ===Gestión de las bases de datos=== | ||
| + | |||
| + | '''Crear una Base de datos''' | ||
| + | |||
| + | Para crear una base de datos nueva puedes hacerlo de, al menos, dos formas. Abre un Terminal y ejecuta lo siguiente: | ||
| + | |||
| + | ''' $ mysql -h servidor -u usuario -p''' | ||
| + | |||
| + | ''' Enter password:''' | ||
| + | |||
| + | '''mysql> CREATE DATABASE nombre_de_la_base_de_datos;''' | ||
| + | |||
| + | ''' quit''' | ||
| + | |||
| + | También puedes usar la orden mysqladmin: | ||
| + | |||
| + | ''' $ mysqladmin -h servidor -u usuario -p create nombre_de_la_base_de_datos''' | ||
| + | |||
| + | '''Eliminar una Base de datos''' | ||
| + | |||
| + | Para eliminar una base de datos que ya no es necesaria en el sistema también tenemos, al menos, dos métodos. En un ventana de Terminal ejecuta: | ||
| + | |||
| + | '''$ mysql -h servidor -u usuario -p''' | ||
| + | |||
| + | '''Enter password:''' | ||
| + | |||
| + | '''mysql> DROP DATABASE nombre_de_la_base_de_datos;''' | ||
| + | |||
| + | '''quit''' | ||
| + | |||
| + | También puedes obtener el mismo resultado con el comando mysqladmin: | ||
| + | |||
| + | ''' $ mysqladmin -h servidor -u usuario -p drop nombre_de_la_base_de_datos''' | ||
Revisión del 15:16 6 jul 2011
| ||||||
Servidores de BD. Servidores que se utilizan para la ejecución de gestores de BD y que varios usuarios hagan operaciones sobre ellas al mismo tiempo, situado en un lugares diferentes; se puede acceder a las BD por terminales o equipos con un programa -llamado cliente- que permita el acceso a ellas.
Sumario
Historia
Los servidores de bases de datos surgen con motivo de la necesidad de las empresas de manejar grandes y complejos volúmenes de datos, al tiempo que requieren compartir la información con un conjunto de clientes (que pueden ser tanto aplicaciones como usuarios) de una manera segura. Ante este enfoque, un sistema gestor de bases de datos (SGBD, a partir de ahora) deberá ofrecer soluciones de forma fiable, rentable y de alto rendimiento.
A estas tres características, le debemos añadir una más: debe proporcionar servicios de forma global y, en la medida de lo posible, independientemente de la plataforma.
Vigencia
Internet se ha convertido en nuestros días en la mayor plataforma de comunicaciones jamás vista. Esto hace que las empresas tiendan a presentar su información a través de la Web en forma de contenidos, que después los clientes consultarán para establecer relaciones con dichas empresas.
Una de las funciones que se empieza a exigir a los SGBD, puesto que sobre ellos recae el peso del almacén y proceso de la información, es la de proporcionar herramientas de apoyo a toma de decisiones ("datawarehouse") al tiempo que proporciona una plataforma de transacciones "on-line" (OLTP) que hacen que la información esté siempre actualizada y consistente.
Aunque parece clara la función de un SGBD, en la actualidad cada vez más filosofías y tecnologías tienden a confluir en un mismo punto. Ya se está hablando acerca de las posibilidades de los nuevos SGBD de poder almacenar contenidos multimedia, objetos, documentos complejos... La explosión de nuevos servicios ha hecho que cada vez más aplicaciones dependan de estos servidores de datos, delegando la responsabilidad de la gestión y almacenamiento de la información a aquellos que mejor están preparados para su tratamiento.
Para poder lograr estos objetivos, es un punto muy importante el que los SGBD proporcionen herramientas de administración completas (que simplifiquen la tarea de la configuración, seguridad, creación y gestión de bases de datos al tiempo que proporcionan mecanismos de integración con otros sistemas y políticas de copias de seguridad) y herramientas que permitan su programación (tanto a nivel de diseño como a nivel de reglas y procedimientos que encapsulen la arquitectura de la base de datos, de tal manera que, a través de conectores a datos, las aplicaciones sólo tengan que pedir la información que necesitan sin preocuparse de cómo se encuentra almacenada).
Por último, puesto que los datos deben estar por encima de la plataforma, los SGBD deben proporcionar mecanismos de comunicación con otras plataformas que actúen también como clientes o servidores de datos. Lo que nos lleva al último punto que consideraremos: la posibilidad de la replicación de la información, posibilidad que permitirá que la información pueda estar almacenada en múltiples servidores de datos y accesible desde cualquier punto como si se tratase de un único volumen de información.
Servidores de Bases de Datos MySQL
MySQL es el servidor de bases de datos relacionales más popular, desarrollado y proporcionado por MySQL AB.
¿Por que usar MySQL?
El servidor de bases de datos MySQL es muy rápido, seguro, y fácil de usar. Si eso es lo que se está buscando, se le debe dar una oportunidad a MySQL.
El servidor MySQL fue desarrollado originalmente para manejar grandes bases de datos mucho más rápido que las soluciones existentes y ha estado siendo usado exitosamente en ambientes de producción sumamente exigentes por varios años. Aunque se encuentra en desarrollo constante, el servidor MySQL ofrece hoy un conjunto rico y útil de funciones. Su conectividad, velocidad, y seguridad hacen de MySQL un servidor bastante apropiado para accesar a bases de datos en Internet.
El software de bases de datos MySQL consiste de un sistema cliente/servidor que se compone de un servidor SQL multihilo, varios programas clientes y bibliotecas, herramientas administrativas, y una gran variedad de interfaces de programación (APIs). Se puede obtener también como una biblioteca multihilo que se puede enlazar dentro de otras aplicaciones para obtener un producto más pequeño, más rápido, y más fácil de manejar.
Instalación
Para instalar MySQL, debes instalar los siguientes paquetes: mysql-server y mysql-client. Existe un entorno gráfico del programa llamado mysql administrator, dependiente de los anteriores paquetes. Y opcionalmente el paquete mysql-query-browser, que servirá para realizar consultas.
Configuración
Se te pedirá crear la contraseña del administrador cuando se instale el programa. En versiones antiguas no se crea con la instalación. Debemos crearla manualmente, nada más instalar el servidor. Para hacerlo teclea en un Terminal:
$ sudo /usr/bin/mysqladmin -u root password clavenueva
Puedes cambiar el archivo /etc/mysql/my.cnf para configurar las opciones básicas -- archivo de registro, número de puerto, etc. Mira al archivo /etc/mysql/my.cnf para más detalles.
Una vez asignada una contraseña al administrador, puedes conectar con el servidor mySQL de la manera siguiente:
$ mysql -h localhost -u root -p
Donde "localhost" és la dirección de tu host y "root" el nombre de usuario. A continuación introduce el password de la base de datos. Te aparece la siguiente pantala:
Welcome to the MySQL monitor. Commands end with; or \g.
Your MySQL connection id is 20 to server version: 5.0.24a-Debian_9ubuntu2-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Para desconectar,
mysql> QUIT
Bye
Configuración desde un host remoto
Por defecto, MySQL no permite que cualquier usuario puede acceder a las bases de datos usando un conexión TCP. Para que lo permita debes crear un usuario con los permisos correspondientes.
También tendrás que editar el fichero /etc/mysql/my.cnf y modificar la línea: bind-address = 127.0.0.1
Cambiándola por la direccion IP del servidor, o en caso de que se quiera escuchar en todas las IPs: bind-address = 0.0.0.0 o la IP que tengas en tu seridor si tienes IP fija
Después reinicia el servicio.
shell>cd etc/init.d
shell>./mysql restart
Para que todos los demás ordenadores tengan acceso al servidor. Para más seguridad puedes poner solamente una lista de las IPs de los ordenadores que quieres que tengan acceso. Si aún no te puedes conectar desde un ordenador remoto tendrás que editar el fichero /etc/hosts.allow y añadir la línea: mysqld: all
Gestión de usuarios
Crear un usuario
Para la creación de usuarios tendremos que conectarnos al servidor MySQL (ver más arriba) con un usuario que tenga el permiso global CREATE USER o el permiso INSERT para la base de datos mysql.
La sintaxis es la siguiente:
CREATE USER usuario IDENTIFIED BY 'password';
Eliminar un usuario
El usuario que usemos en la conexión debe tener el permiso global CREATE USER o el permiso DELETE para la base de datos mysql.
La sintaxis es la siguiente:
DROP USER usuario;
Dar permisos a un usuario
Los permisos pueden darse en varios niveles:
- Nivel global.
- Nivel de base de datos.
- Nivel de tabla.
La sintaxis es:
GRANT tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} TO usuario;
Así para dar el permiso SELECT al usuario pepe sería:
GRANT SELECT ON *.* TO pepe;
Quitar permisos a un usuario
La sintaxis es:
REVOKE tipo_privilegio ON {nombre_tabla | * | *.* | nombre_bd.*} FROM usuario;
Gestión de las bases de datos
Crear una Base de datos
Para crear una base de datos nueva puedes hacerlo de, al menos, dos formas. Abre un Terminal y ejecuta lo siguiente:
$ mysql -h servidor -u usuario -p
Enter password:
mysql> CREATE DATABASE nombre_de_la_base_de_datos;
quit
También puedes usar la orden mysqladmin:
$ mysqladmin -h servidor -u usuario -p create nombre_de_la_base_de_datos
Eliminar una Base de datos
Para eliminar una base de datos que ya no es necesaria en el sistema también tenemos, al menos, dos métodos. En un ventana de Terminal ejecuta:
$ mysql -h servidor -u usuario -p
Enter password:
mysql> DROP DATABASE nombre_de_la_base_de_datos;
quit
También puedes obtener el mismo resultado con el comando mysqladmin:
$ mysqladmin -h servidor -u usuario -p drop nombre_de_la_base_de_datos
Fuentes
- http:// www.aprendergratis.com/.../caracteristicas-de-un-servidor-d
- http:// www.alegsa.com.ar/
- http:// www.um.es/docencia/barzana/DIVULGACION/.../sgbd.htmbind-preg100.html
- http:// www.scribd.com/.../Instalacion-de-un-Servidor-de-Base-de-