Mysql

Published on March 2017 | Categories: Documents | Downloads: 76 | Comments: 0 | Views: 316
of 39
Download PDF   Embed   Report

Comments

Content

TRABAJO MONOGRÁFICO 1 - MYSQL
Contenido
INTRODUCCION ........................................................................................................................ 3 MYSQL ......................................................................................................................................... 4 HISTORIA .................................................................................................................................... 4 CARACTERÍSTICAS ................................................................................................................. 5 VENTAJAS .................................................................................................................................. 7 DESVENTAJAS .......................................................................................................................... 8 PLATAFORMAS ......................................................................................................................... 8 LENGUAJES DE PROGRAMACIÓN ...................................................................................... 9 APLICACIONES ....................................................................................................................... 10 RENDIMIENTO MYSQL .......................................................................................................... 10 GUÍAS GENERALES DE AJUSTE ........................................................................................ 16 INSTALACIÓN DE MYSQL EN WINDOWS 7 ..................................................................... 20 Instalar MySQL en Windows .............................................................................................. 20 Configurar y Activar Servidor MySQL en Windows......................................................... 21 Instalación de MySQL en Ubuntu y operaciones en Ubuntu ......................................... 28 Configuración ........................................................................................................................ 28 Conexión desde un host remoto ........................................................................................ 29 Gestión de las bases de datos ........................................................................................... 30 Crear una Base de datos ................................................................................................ 30 Eliminar una Base de datos ............................................................................................ 30 Hacer Backup de una Base de datos ............................................................................ 31 Restaurar el Backup de una Base de datos ................................................................. 31 APLICACIONES ADMINISTRATIVAS DE MYSQL ............................................................ 32 ALMACENAMIENTO DE DATOS EN MYSQL .................................................................... 33 Arquitectura de Almacenamiento en Mysql ...................................................................... 33 Comparación de los diferentes tipos de almacenamiento en Mysql ............................ 34 EMPRESAS QUE UTILIZAN MYSQL ................................................................................... 35 Administración de Base de Datos (ST - 214) Página 1

TRABAJO MONOGRÁFICO 1 - MYSQL
CALIDAD DEL SOFTWARE MYSQL .................................................................................... 35 PRECIOS MYSQL .................................................................................................................... 36 CONCLUSIONES Y RECOMENDACIONES ....................................................................... 37 BIBLIOGRAFIA ......................................................................................................................... 39

Administración de Base de Datos (ST - 214)

Página 2

TRABAJO MONOGRÁFICO 1 - MYSQL

INTRODUCCION

MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Administración de Base de Datos (ST - 214)

Página 3

TRABAJO MONOGRÁFICO 1 - MYSQL

MYSQL

El sistema de base de datos operacional MySQL es hoy en día uno de los más importantes en lo que hace al diseño y programación de base de datos de tipo relacional. Cuenta con millones de aplicaciones y aparece en el mundo informático como una de las más utilizadas por usuarios del medio. El programa MySQL se usa como servidor a través del cual pueden conectarse múltiples usuarios y utilizarlo al mismo tiempo.

HISTORIA

MySQL es un sistema de gestión de bases de datos relacionales, creado por la empresa sueca MySQL AB y licenciado bajo GPL (Licencia Pública General). Su diseño le permite soportar una gran carga de forma rápida y muy eficiente. MySQL surgió por la necesidad que vieron sus creadores de tener un gestor de bases de datos rápido y sencillo, ya que los SGBDs en general no eran lo bastante flexibles ni veloces para lo que necesitaban, por lo que tuvieron que desarrollar nuevas funciones. De todo esto surgió una nueva interfaz

SQL (con código más portable) desarrollada en lenguaje C y con apariencia similar a los nombres y funciones de muchos de sus programas.

Su principal objetivo de diseño fue la velocidad, por ello en sus primeras versiones se suprimieron algunas características de otros SGBDs (Sistemas de Gestión de Base de Datos), como el control de transacciones y las subconsultas. Consume pocos recursos y se distribuye bajo licencia GPL.

Su primera versión publicada bajo licencia GPL fue la 3.22 por el año de 1997, luego han surgido las que hoy en día son versiones estables y que se pueden descargar desde su sitio web (www.mysql.com) como la 3.23, 4.0 y 4.1, la 5.0 publicada en el año 2005 y la 5.1 publicada el 2006. Se está desarrollando actualmente la versión 5.2 para publicarse en a finales del 2006 o inicios del 2007. La versión en la que se hicieron las respectivas pruebas y los ejemplos
Administración de Base de Datos (ST - 214) Página 4

TRABAJO MONOGRÁFICO 1 - MYSQL
que se muestran en la presente monografía es la “5.0.24” para el sistema operativo Microsoft Windows XP. Aunque MySQL es software libre y gratuito, MySQL AB distribuye las respectivas versiones comerciales de MySQL, que se diferencian de las versiones libres en el soporte técnico y las actualizaciones que se ofrecen.

Este gestor de bases de datos es probablemente el gestor más usado en el mundo del software libre, debido sobre todo a su gran rapidez y desempeño, su fácil instalación y configuración además de la facilidad de uso mediante herramientas que permiten su operación a través de diversos lenguajes de programación.

El nombre de MySQL procede de la combinación de My, hija del cofundador Michael "Monty" Widenius, con el acrónimo SQL (según la documentación de la última versión en inglés). Por otra parte, el directorio base y muchas de las bibliotecas usadas por los desarrolladores tenían el prefijo My.

El nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

CARACTERÍSTICAS

Inicialmente, MySQL carecía de algunos elementos esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de esto, atrajo a los desarrolladores de páginas web con contenido dinámico, debido a su simplicidad, de tal manera que los elementos faltantes fueron complementados por la vía de las aplicaciones que la utilizan. Poco a poco estos elementos faltantes, están siendo incorporados tanto por desarrolladores internos, como por desarrolladores de software libre.
Administración de Base de Datos (ST - 214) Página 5

TRABAJO MONOGRÁFICO 1 - MYSQL
                       

Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataforma. Procedimientos almacenados Disparadores (triggers). Vistas actualizables. Soporte a VARCHAR INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle. Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial). Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints) con InnoDB. Soporte para SSL. Query caching Sub-SELECTs (o SELECTs anidados). Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo. Indexing y búsqueda de campos de texto completos usando el motor de almacenamiento MyISAM. Embedded database library Soporte completo para Unicode. Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster. Shared-nothing clustering through MySQL Cluster. Usa GNU Automake, Autoconf, y Libtool para portabilidad Uso de multihilos mediante hilos del kernel. Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice Tablas hash en memoria temporales

Administración de Base de Datos (ST - 214)

Página 6

TRABAJO MONOGRÁFICO 1 - MYSQL
    El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL. Completo soporte para operadores y funciones en cláusulas select y where. Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor.     Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros. Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2). Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.   En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL

VENTAJAS  

Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento. Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.

 

Facilidad de configuración e instalación. Soporta gran variedad de Sistemas Operativos.

Administración de Base de Datos (ST - 214)

Página 7

TRABAJO MONOGRÁFICO 1 - MYSQL
     Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está. Conectividad y seguridad. Acceso a las bases de datos de forma simultánea. Seguridad, en forma de permisos y privilegios. Gratuito.

DESVENTAJAS       

No tiene integridad referencial Lento con grandes bases de datos No tiene tantas capacidades como otros gestores profesionales Dificultad de manejo No es intuitivo como otros programas. Un gran porcentaje de utilidades de MySQL no están documentadas. El hecho de que no maneje integridad referencial hace de este gestor una solución pobre sobre todo para aquellos programadores que provienen de otros gestores que si poseen esta característica.

PLATAFORMAS

MySQL funciona sobre múltiples plataformas, incluyendo:       

AIX BSD FreeBSD HP-UX GNU/Linux Mac OS X NetBSD

Administración de Base de Datos (ST - 214)

Página 8

TRABAJO MONOGRÁFICO 1 - MYSQL
             Novell Netware OpenBSD OS/2 Warp QNX SGI IRIX Solaris SunOS SCO OpenServer SCO UnixWare Tru64 eBD Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008). OpenVMS.

LENGUAJES DE PROGRAMACIÓN

Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API específica. También existe un interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.

Administración de Base de Datos (ST - 214)

Página 9

TRABAJO MONOGRÁFICO 1 - MYSQL

APLICACIONES

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por

herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.

RENDIMIENTO MYSQL Como resultado del creciente papel de MySQL en grandes organizaciones, su uso se está convirtiendo más y más de alto rendimiento. Esto significa, por supuesto, que MySQL necesita proporcionar más capacidad de respuesta, alto rendimiento, y fiabilidad. Ya conocido en la industria por ser un servidor de bases de datos increíblemente rápido, muy a menudo MySQL está ya preparado para la tarea directamente después de instalarlo. Sin embargo hay un par de cosas que pueden fácilmente hacerlo lento, aunque no es extraño, que esto se deba también a un pobre diseño de la aplicación. Otras veces la configuración por defecto de MySQL no es lo suficientemente buena como para realizar la tarea que tiene entre manos. Y otras veces se necesita tener un poco más de hardware.

Cuando intentamos hacer más rápida una aplicación de bases de datos, hay que empezar con la aplicación en sí y asegurarse de que las tablas están normalizadas de forma adecuada, y las columnas están indexadas, esto es
Administración de Base de Datos (ST - 214) Página 10

TRABAJO MONOGRÁFICO 1 - MYSQL
siempre un buen comienzo. Pero si ya se ha hecho todo lo anterior y las cosas siguen siendo lentas, llega el momento de echarle un ojo al servidor MySQL en sí. No es tecnología aeroespacial Aunque puede ser que suene intimidante, el ajuste del rendimiento sólo trata de sacar el mayor rendimiento posible de un sistema. Para hacer esto es necesario entender cuáles son las variables que están involucradas y como pueden afectar el buen funcionamiento del servidor.

Antes de entrar en los detalles, vale la pena reiterar un hecho importante: las técnicas que se van a mostrar no arreglarán búsquedas mal escritas o sin optimizar, un mal diseño de la base de datos, u otros problemas del diseño de la aplicación. Puede que sirvan para aliviar el esfuerzo de un servidor ocupado, pero simplemente se está posponiendo lo inevitable. La única solución a una aplicación mal escrita o un diseño pobre de la base de datos es irse al código y arreglarlo. Realmente, arreglar las consultas lentas y/o una aplicación pobremente diseñada conseguirá mejores resultados que perder el tiempo con el ajuste del servidor.

Si no se está seguro por dónde empezar, se tiene que habilitar el archivo de registro para las búsquedas lentas (slow query log) tal y como se explica en el manual de MySQL, y luego simplemente observar y revisar cualquier búsqueda que no se esperaba que sea lenta. También es posible que se encuentren algunas búsquedas rápidas en el archivo de las búsquedas lentas. Esto se debe a que MySQL considera cualquier búsqueda como lenta si no usa un índice. Uso de memoria Del lado del servidor, el único y más importante factor en determinar cómo de bien rendirá MySQL, es la memoria. MySQL es capaz de ejecutar varios subprocesos a la vez. Esto significa que cada vez que se realiza una conexión, MySQL crea un subproceso. Cada subproceso consume memoria. El almacenamiento en caché de los resultados también consume memoria. Se puede pensar entonces, que entre más memoria tengamos en el servidor, será lo mejor. Sin embargo no es suficiente con tener mucha memoria disponible, es necesario indicarle a MySQL como queremos que use la memoria.

Las configuraciones por defecto de MySQL son bastante conservadoras para el
Administración de Base de Datos (ST - 214) Página 11

TRABAJO MONOGRÁFICO 1 - MYSQL
hardware de hoy en día, sin embargo, si se tiene un servidor MySQL dedicado con varios cientos de mega bytes de RAM, se debe ser capaz de darle a MySQL una porción bastante grande de ella para trabajar. Por defecto, sólo usará una pequeña porción de lo que haya disponible; esto se debe a que no hay ninguna forma de saber si está corriendo en un servidor dedicado donde será usado de forma continua o si está corriendo en un esforzado portátil donde sólo se usa para almacenar una pequeña aplicación.

Mucha de la información presentada a continuación se centrará en el uso de la memoria y se asume que se está usando el tipo de tabla por defecto de MySQL, MyISAM. Actualmente existen otros tipos de tablas transaccionales más avanzadas, tales como InnoDB o Gemini. MySQL usa la memoria para una variedad de búfferes internos y cachés que influyen en el número de veces que se ha de acceder a archivos que residen en el disco. Cuanto más a menudo tenga que esperar a que responda un disco, más lento será. Aún los discos duros más modernos siguen siendo un orden de magnitud más lentos que la memoria RAM, y dado la reciente baja en los precios de la memoria, es muy factible que se pueda añadir más memoria al servidor y así acelerar los procesos. Actualizar a discos duros más rápidos debería ser la última opción.

Los búfferes y cachés de MySQL son de dos tipos: globales, y por hilo.

Globales: tal y como sugiere el nombre, estas áreas de memoria son reservadas una vez y son compartidas a través de todos los hilos de MySQL. Dos de los más importantes son el búffer de claves y la caché de tablas. Debido a que son búfferes compartidos, el objetivo es que sean lo más grandes posibles.

Por hilo: estos búfferes reservan memoria individualmente a medida que necesitan realizar operaciones particulares, tales como ordenar o agrupar datos. A propósito, la mayoría de los búfferes MySQL se reservan en esta forma.

Administración de Base de Datos (ST - 214)

Página 12

TRABAJO MONOGRÁFICO 1 - MYSQL
A continuación se examina primero que función tienen cada uno de los búfferes y como configurar e inspeccionar sus valores, posteriormente se mostrará como examinar contadores de rendimiento de MySQL y juzgar si los cambios que se realizan tienen implicaciones o no.

Búffer de claves: El búffer de claves es donde MySQL cachea los bloques de índices para tablas MyISAM. Cada vez que una búsqueda usa un índice, MySQL mirará antes de nada a ver si el índice relevante está o no en memoria. El parámetro key_buffer en el archivo my.cnf determina que tan grande puede ser este búffer. Una vez que el búffer este lleno, MySQL hará sitio para nuevos datos reemplazando datos antiguos que no hayan sido usados recientemente.

El tamaño del búffer de claves aparece como key_buffer_size en la salida de SHOW VARIABLES. Con un búffer de claves de 384 MegaBytes, se vería algo como:

key_buffer_size 402649088

Como una recomendación general, en un servidor MySQL dedicado se debería reservar entre el 20 y el 50 por ciento de la memoria RAM para el búffer de claves de MySQL. Si se tiene un GigaByte de memoria se puede empezar con algo como:

set-variable= key_buffer= 128M ó incluso:

set-variable= key_buffer= 256M

Si sólo se permitiera modificar un parámetro en el servidor MySQL, el búffer de claves sería lo primero que se tendría que considerar. Los índices son también muy importantes para el rendimiento global de cualquier servidor de bases de datos por lo que es difícil equivocarse al hacer más espacio en su memoria para ellos.

Administración de Base de Datos (ST - 214)

Página 13

TRABAJO MONOGRÁFICO 1 - MYSQL
Si no se especifica un tamaño al búffer de claves, MySQL usará su tamaño por defecto que está cerca de los 8MB. Pero claro, tiene muy poco sentido configurar el valor del búffer de claves tan alto, hacerlo podría matar de hambre al sistema operativo respecto a la memoria que necesita para escrituras de disco y otras tareas.

Caché de tablas Las tablas MyISAM están compuestas de tres archivos en disco:

El archivo de datos nombredetabla.MYD, el archivo índice nombredetabla.MYI, y finalmente, el archivo de definición de la tabla llamado nombredetabla.FRM. Para poder usar una única tabla, MySQL necesita de hecho abrir los tres archivos. El archivo .FRM se cerrará después de que lea el esquema, pero los demás permanecerán abiertos, MySQL no los cerrará hasta que lo necesite. Esto evita una sobrecarga asociada con la apertura y cierre de los archivos si la tabla se usa frecuentemente. Los archivos normalmente no se suelen cerrar hasta que ocurre uno de los siguientes eventos: * La tabla se ha cerrado de * El

forma explícita mediante FLUSH TABLES. * La tabla se ha desechado. servidor esta siendo reiniciado.

* El número total de tablas abiertas ha

alcanzado el valor del parámetro table_cache. El último evento es particularmente importante si se tienen muchas tablas que se usan a menudo entre todas las bases de datos. El valor por defecto de table_cache es de 64, así que si se tienen unos cientos de tablas que se usen de forma activa, MySQL va a desperdiciar mucho tiempo y esfuerzo abriendo y cerrando innecesariamente estos archivos.

Incrementar el tamaño de la caché de tablas ciertamente ayudará en esta situación, pero se debe tener cuidado de no hacer el valor demasiado grande, ya que todos los sistemas operativos tienen un límite en el número de los archivos abiertos por un mismo proceso. De hecho, algunos también tienen limitado el número total de archivos abiertos que puede tener un único usuario. Si MySQL intenta abrir demasiados archivos, el sistema operativo se negará a permitirlo y MySQL generará un mensaje de error en el archivo de registro de errores. Ante la duda, se tienen que comprobar las limitaciones del sistema
Administración de Base de Datos (ST - 214) Página 14

TRABAJO MONOGRÁFICO 1 - MYSQL
operativo.

En casos extremos, se puede incrementar el número de descriptores de archivos disponibles por medio de las opciones de configuración del kernel. Los descriptores de archivos abiertos están reservados por un único proceso y compartidos por todos sus hilos. Al contrario que muchos de los demás parámetros, la caché de tablas se aplica a todos los tipos de tablas basadas en disco de MySQL. Búfferes de registro Siempre que MySQL ha de escanear una tabla, el hilo que realiza el escaneo reservará un búffer de registro para cada tabla que ha de escanear. Esto sucede típicamente cuando MySQL decide que es más eficiente escanear la tabla que usar un índice para una búsqueda. También ocurre cuando simplemente no hay un índice que se pueda usar.

Al incrementar el valor de record_buffer en el archivo my.cnf, se permite que MySQL lea las tablas en trozos más grandes. Es probable que esto reduzca el número de búsquedas en el disco y haga que el escaneo sea

significativamente más rápido en un servidor muy atareado.

Sin embargo, se tiene que ser muy cuidadoso con el búffer de registro si se tienen muchos clientes que realizan búsquedas completas sobre tablas. Debido a que el búffer de registro se reserva por cada hilo, se puede acabar en una situación donde clientes individuales hagan que se reserven búfferes de registro al mismo tiempo. Si el resto de la memoria está limitada es probable que se empiece a hacer uso de la memoria de intercambio y se verá dramáticamente reducido el rendimiento. En la versión 3.23.41 se introdujo un parámetro relacionado denominado record_rnd_buffer.

Al igual que record_buffer, se usa para escanear un gran número de filas. El record_rnd_buffer se usa para búsquedas que resultan en una ordenación intermedia del archivo además de algunas lecturas de registro no secuenciales. Afortunadamente, si no se fija el valor de record_rnd_buffer se establecerá por defecto el valor de record_buffer. Búffer de ordenación

Administración de Base de Datos (ST - 214)

Página 15

TRABAJO MONOGRÁFICO 1 - MYSQL
Tal y como implica su nombre, el búffer de ordenación se usa para responder a búsquedas que involucren elordenamiento de los datos -aquellas con una cláusula ORDER BY en ellas. Además, el búffer de ordenación se usa para las búsquedas que involucren agrupar datos -aquellas con una cláusula GROUP BY. Al igual que los demás búfferes que se han visto, el búffer de ordenación es relativamente pequeño por defecto. Al ajustar la entrada de sort_buffer en el archivo my.cnf:

set-variable= sort_buffer= 8M

Se puede reducir dramáticamente la cantidad de tiempo que se usa para ordenar grandes grupos de resultados. El búffer de ordenación aparece como sort_buffer en la sálida de SHOW VARIABLES, por ejemplo:

sort_buffer 8388600

El mismo tipo de aviso se aplica al búffer de ordenación que para el búffer de registros. Es un búffer que MySQL reserva frecuentemente y se reserva por hilo. Así que, hay que incrementarlo con cuidado en un servidor que ejecute muchas búsquedas concurrentes

GUÍAS GENERALES DE AJUSTE

Antes de discutir cómo medir o juzgar los efectos de cualquier cambio que se realice, se debe considerar brevemente un acercamiento a la afinación del rendimiento. Hay unas cuantas cosas que se deben tener en mente cuando se empiezan hacer y probar cambios: * Sólo cambiar un parámetro cada vez. Puede que los cambios no resulten siempre en el comportamiento esperado. Si se cambian demasiados parámetros a la vez, se corre el riesgo de asignar un cambio en el comportamiento al parámetro equivocado.

Administración de Base de Datos (ST - 214)

Página 16

TRABAJO MONOGRÁFICO 1 - MYSQL
* No hacer cambios en sistemas en producción. De ser posible, se debe tener un servidor de pruebas disponible que sea parecido en naturaleza al servidor de bases de datos de producción. Hacer cambios en la configuración de MySQL seguramente requerirá que se pare y reinicie el servidor, lo que hará que los usuarios experimenten interrupciones en el servicio.

* Usar datos reales. El tipo de datos que se estén usando afecta a como responde MySQL a las búsquedas. Idealmente, se debería usar una copia de las bases de datos de producción. Si no es posible hacer esto, entonces se debería intentar construir un subconjunto representativo de datos.

* Realizar pruebas realistas. Es fácil asumir que se sabe que pruebas aplicar simplemente porque se sabe cuáles son las áreas problemáticas. Sin embargo, algunos cambios de la configuración aceleran partes lentas de una aplicación al mismo tiempo que hacen lentas las cosas que antes eran bastante rápidas. * Ser sistemático y registrar descubrimientos. Es importante que se mantenga la pista de los cambios que se realizan y como afectan al rendimiento. Después de varias horas (o incluso días) de pruebas, es más que probable que no se recuere de exactamente que es lo que se ha cambiado y si los cambios fueron positivos o negativos. Observando los números de rendimiento de la base de datos

Con los pocos puntos de partida en mente y un concepto de cómo hacer pruebas, ahora se debe considerar cómo monitorear el progreso.

Afortunadamente, MySQL tiene más de 50 contadores internos (o variables de estado), que mantienen la pista de cuántas veces ocurren varios tipos de eventos.

Dado que el espacio en este artículo sirve para comentar solamente algunas de las variables de estado de MySQL, en el manual de MySQL se describen todas y cada una de ellas en mayor detalle. Para ver estos números, se puede usar la sentencia SHOW STATUS. En este caso se mencionan únicamente las variables relacionadas con el búffer de claves:

SHOW STATUS LIKE 'Key%'

Key_read_requests 3844786889
Administración de Base de Datos (ST - 214) Página 17

TRABAJO MONOGRÁFICO 1 - MYSQL
key_reads 16525182 Key_write_requests 303516563 Key_writes 152315649 Estas cuatro variables dicen mucho sobre el rendimiento del búffer de claves de MySQL. Cada vez que MySQL sea capaz de leer una clave (o índice) del búffer de claves (en vez de ir a disco), incrementará automáticamente el valor de key_read_requests. Si MySQL ha de leer la clave del disco porque no estaba ya en la caché, incrementará key_reads. La misma lógica se aplica para las escrituras de disco.

Sabiendo esto, podemos calcular la eficiencia (o hit rate) para el búffer de claves.

Usando una fórmula como: 100 - ((Key_reads / Key_read_requests) * 100)

Podemos obtener un porcentaje que representa cómo a menudo es capaz MySQL de leer las claves directamente de la caché en vez de irse a disco. Cuanto más cerca esté el valor de 100, mucho mejor. Usando los números de arriba, se tiene un hit rate de cerca del 99.57 por ciento. Generalmente, suele ser una buena idea mantener este porcentaje por encima del 90 por ciento. A fin de cuentas, de lo que se trata, es de tener una mejora medible del rendimiento de MySQL.

Observando

los

números

del

rendimiento

del

sistema

Monitorear los cambios de rendimiento en MySQL es sólo una parte de la labor, también es necesario ver qué es lo que está pasando desde el punto de vista del sistema operativo, ya que como cualquier otra aplicación, está a merced de lo que el sistema operativo quiera permitirle hacer, así que es importante que se mantenga una vista global sobre toda la actividad del sistema operativo.

Se debe tener una idea de la actividad actual del sistema y características del rendimiento de MySQL antes de empezar a hacer pruebas. Sin una base para la comparación, realmente no se sabrá cómo ha cambiado el impacto de
Administración de Base de Datos (ST - 214) Página 18

TRABAJO MONOGRÁFICO 1 - MYSQL
MySQL en el sistema. Finalmente, cabe mencionar que únicamente se ha descrito una mínima parte de lo que representa el rendimiento en el lado del servidor para MySQL.

Administración de Base de Datos (ST - 214)

Página 19

TRABAJO MONOGRÁFICO 1 - MYSQL

INSTALACIÓN DE MYSQL EN WINDOWS 7 Instalar MySQL en Windows Tenemos tres tipos de instalación, típica, completa y personalizada, típica y completa son muy sencillas basta con seleccionar siguiente, siguiente, siguiente…., pero haremos la instalación personalizada para puntualizar ciertos aspectos interesantes de la instalación de MySQL.

Luego de seleccionar Custom (personalizada), nos pide indicar que elementos instalaremos, por defecto instalará todo menos los “Developers Components“, son opcionales, contienen ejemplos, scripts y algunas librerías para los más curiosos. La carpeta de instalación por defecto es c:\Archivos de Programa\MySQL\MySQL Server 5.1\, podemos cambiarla con el botón Change, y debes recordarla para más adelante. Presionamos siguiente e instalar para que comience a realizar la instalación de MySQL. Al finalizar la instalación nos presenta la versión Entreprise que es de pago y lo hace a modo de publicidad, presionamos siguiente para continuar.

Administración de Base de Datos (ST - 214)

Página 20

TRABAJO MONOGRÁFICO 1 - MYSQL

Es momento de configurar MySQL Server como un servicio en Windows 7 y si lo deseamos registrarnos en SunConnect para obtener noticias, novedades y notificaciones de actualizaciones deMySQL, luego presionamos Finalizar. Configurar y Activar Servidor MySQL en Windows En el asistente de configuraciones podemos decidir entre una configuración detallada o estándar. La instalación estándar agrega MySQL como un servicio Windows que se ejecuta automáticamente al iniciar, se debe utilizar en computadoras que no tengan instaladas MySQL.

Administración de Base de Datos (ST - 214)

Página 21

TRABAJO MONOGRÁFICO 1 - MYSQL
Pero haremos la configuración detallada que por ser más precisa nos permite ahondar más en este artículo. En este punto de la configuración nos brinda tres formas posible:


Developer Machine Es la que vamos a utilizar nosotros como desarrolladores, ya que usaremos MySQL más que nada para testear nuestras aplicaciones. En esta opción MySQL Server se configura para utilizar un mínimo de recursos y memorias de forma de dejar parte del PC disponible para usarlo en otras aplicaciones.



Server Machine Recomendada cuando instalamos MySQL Server en un servidor donde existen otras aplicaciones en modo Servidor, por ejemplo Aplicaciones Web que se sirven de este mismo servidor. En este caso MySQL hace un uso intermedio de memoria y recursos.



Dedicated MySQL Server Machine Esta opción configura MySQL asumiendo que solo MySQL Server estará corriendo en este servidor, no deja lugar a que corran otras aplicaciones. En esta configuración MySQL utilizara toda la memoria y recursos disponibles. Seleccionaremos en nuestro caso Developer Machine:

Administración de Base de Datos (ST - 214)

Página 22

TRABAJO MONOGRÁFICO 1 - MYSQL
y presionamos siguiente. Ahora debemos definir el tipo de uso que se le dará a las bases de datos.

También se presenta tres opciones, debemos seleccionar una de ellas dependiendo del tipo de optimización que deseamos:


Multifunctional Database Define un propósito general, es la que seleccionaremos en nuestro caso para testing y desarrollo. Optimizara el servidor para transacciones rápidas en InnoDB y MyISAM.



Transactional Database Only Se optimiza para servidor de aplicaciones y aplicaciones web. Seleccionaremos esta opción si la aplicación que consume datos de MySQL está en producción y utiliza principalmente InnoDB, aunque también admite MyISAM aunque no lo beneficia.



Non-Transactional Database Only Optimo para aplicaciones web sencillas, de control o programas de análisis. Solo se activa el modelo no-transaccional MyISAM, por tanto no admite InnoDB.

Administración de Base de Datos (ST - 214)

Página 23

TRABAJO MONOGRÁFICO 1 - MYSQL
En nuestro caso seleccionaremos Multifunctional Database.

La siguiente selección es la carpeta donde se almacenaran los datos, por defecto podemos usar una subcarpeta que se creará en el lugar de la instalación de MySQL, y continuamos con siguiente.

La cantidad de conexiones concurrentes al servidor es lo siguiente que debemos definir, si son hasta 20 conexiones seleccionamos Decision Support (DSS)/OLAP, en caso de requerir hasta 500 conexiones concurrentes
Administración de Base de Datos (ST - 214) Página 24

TRABAJO MONOGRÁFICO 1 - MYSQL
seleccionamos Online Transaction Processing (OLTP), o en este caso como es para testing seleccionamos Manual Setting, y definimos el número de conexiones usando 5 o 10 conexiones. La configuración de red es lo siguiente que debemos definir

La configuración de red es lo siguiente que debemos definir indicando su utilizaremos protocoloTCP/IP y el puerto, dejaremos los valores por defecto indicando el puerto 3306 y también marcando “Add firewall exception for this port” de forma de no tener problemas con el Firewall, y presionamos siguiente. El juego de caracteres es lo siguiente a indicar

Administración de Base de Datos (ST - 214)

Página 25

TRABAJO MONOGRÁFICO 1 - MYSQL
Por defecto define Standard Character Set, o latin1, también conocido como iso-8859-1, pero la mayoría de los servidores web y aplicaciones como WordPress utilizan por defecto UTF8 ya que soporta mejor caracteres multilenguaje, la opción es Best Support For Multilingualism que seleccionaremos en este caso, la última opción Manual Selected Default Character Set / Collation nos permite seleccionar manualmente el Char Set. Debemos indicar ahora que MySQL Server se ejecutar como un Servicio Windows (Install As Windows Service),

indicar un nombre de servicio, que dejaremos como MySQL, y marcaremos también la opción deincluir los archivos de ejecución de MySQL en el PATH de Windows (Include Bin Directory in Windows PATH) y continuamos con siguiente.

En este punto debemos prestar mucha atención

Administración de Base de Datos (ST - 214)

Página 26

TRABAJO MONOGRÁFICO 1 - MYSQL

ya que es donde definimos el password del administrador principal del Servidor MySQL, o sea el usuario root. También podemos indicar si queremos que nuestras bases de datos se accedan desde maquinas remotas con el usuario root, y continuamos con siguiente.

Administración de Base de Datos (ST - 214)

Página 27

TRABAJO MONOGRÁFICO 1 - MYSQL
hemos culminado con estos los pasos, presionamos Execute para que se termine de Instalar y Configurar MySQL. Presionamos Finish cuando aparezca el mensaje final de instalación. En el menú inicio podemos ejecutar nuevamente el Asistente de Configuración de Instancias MySQL (MySQL Server Instance Config Wizard) en caso que sea necesario. Ahora ya podemos utilizar MySQL desde nuestras aplicaciones PHP, .NET, y otras.


Abrimos MySQL desde la línea de comandos: mysql -u root -p (Enter), nos pide password e ingresamos el anterior En el prompt de MySQL, abrimos la base MySQL: mysql> use mysql Eliminamos los usuarios y permisos sobrante: mysql> delete from user where host=”localhost” and user=”"; Cambiamos el password: mysql> update password=password(“acaelnuevopassword”) wher user=”root”; Limpiamos el cache de Tablas: mysql> flush tables; Y el de permisos: mysql> flush privileges; user set

 



 

Instalación de MySQL en Ubuntu y operaciones en Ubuntu Para instalar MySQL, debes instalar los siguientes paquetes: mysqlserver 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

Administración de Base de Datos (ST - 214)

Página 28

TRABAJO MONOGRÁFICO 1 - MYSQL
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_9ubuntu2log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. Para desconectar, mysql> QUIT Bye

Conexió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

Despues reinicia el servicio.

Administración de Base de Datos (ST - 214)

Página 29

TRABAJO MONOGRÁFICO 1 - MYSQL
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 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 Más información en Sintaxis de CREATE DATABASE. 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

Administración de Base de Datos (ST - 214)

Página 30

TRABAJO MONOGRÁFICO 1 - MYSQL
Más información en Sintaxis de DROP DATABASE. También puedes obtener el mismo resultado con el comando mysqladmin. $ mysqladmin -h servidor -u usuario -p drop nombre_de_la_base_de_datos

Hacer Backup de una Base de datos Para hacer una copia de seguridad de una base de datos tiene el siguiente comando: $ mysqldump -h servidor -u usuario -p nombre_de_la_base_de_datos > backup.sql Para hacer una copia de seguridad de las bases de datos MySQL de un servidor puedes usar el siguiente script: #!/bin/bash ## BEGIN CONFIG ## HOST=localhost USER=usuario PASS=secreto BACKUP_DIR=Backup ## END CONFIG ## if [ ! -d $BACKUP_DIR ]; then mkdir -p $BACKUP_DIR fi # Backup de MySQL MYSQL_DBS=$(mysqlshow -h $HOST -u $USER -p$PASS | awk ' (NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /mysql/) { print $2 }'); for DB in $MYSQL_DBS ; do echo "* Backuping MySQL data from $DB@$HOST..." mysqldump -h $HOST -u $USER -p$PASS $DB > $BACKUP_DIR/mysql_$DB.sql done

Restaurar el Backup de una Base de datos Para restaurar una base de datos creada anteriormente ejecuta en un Terminal. $ mysql -h servidor -u usuario -p nombre_de_la_base_de_datos < backup.sql
Administración de Base de Datos (ST - 214) Página 31

TRABAJO MONOGRÁFICO 1 - MYSQL

APLICACIONES ADMINISTRATIVAS DE MYSQL Aplicaciones Administrativas de Mysql
Aplicación Mysql Migration Toolkit Mysql Administrator Mysql Workbench Mysql Monitor Mysql Query Browser Plone Ruby on Rails Descripción Mysql Migration Toolkit administra y realiza tareas de migracion de datos a Oracle, Sql Server, Access, Jdbc Generico . Administra las instancias, backup, usuarios, performance, logs, replica Es el nuevo dbDesigner con al cual se puede hacer el proceso de ingenieria inversa Un Monitor del Servidor y manejador de las instancias Administra las consultas Sql, creación de procedimientos, vistas, manipulación de sripts, ayuda sobre la sintaxis de mysql Herramienta Case Herramienta Case, Open Source Web framework que optimiza la programación y productividad, es una herramienta que sirve para desarrollar aplicaciones Web con bases de datos.

Administración de Base de Datos (ST - 214)

Página 32

TRABAJO MONOGRÁFICO 1 - MYSQL
ALMACENAMIENTO DE DATOS EN MYSQL

Arquitectura de Almacenamiento en Mysql

Esta eficiente arquitectura provee beneficios para el tipo de aplicación que se necesite como data warehousing, procesamiento de transacciones, situaciones de alta disponibilidad, etc. Todo para que el motor de la base de datos funcione eficientemente. Esto va de la mano con las ventajas de utilizar un set de interfaces y servicios.

El programador de aplicaciones y el dba pueden interactuar con la base de datos a través de los conectores Api’s y capas de servicios que se están disponibles para los tipos de almacenamiento. Es posible cambiar entre los tipos de almacenamiento sin necesidad de modificar mucho código o procesos durante el cambio.

Administración de Base de Datos (ST - 214)

Página 33

TRABAJO MONOGRÁFICO 1 - MYSQL
Comparación de los diferentes tipos de almacenamiento en Mysql Comparativa de almacenamiento de Datos en Mysql
Característica
Limites de Almacenamiento Transacciones (Commit, roolback, etc.) Granularidad de Bloqueo MVCC (Multi-version concurrency control) / Snapshot Read Soporte Geoespatial Indices B-Tree Indices Hash Indice de búsqueda Full text Clustered Index Cache de Datos Cache de Indices Compresión de Datos Encriptación de datos Costo de Almacenamiento ( espacio utilizado ) Costo de Memoria Velocidad de Inserción Cluster DataBase Support Soporte para Replica Soporte para claves foraneas Backup / Point-in-time Recovery Soporte para Query Cache Estadísticas de Actualización para diccionario de datos

MyIsam BDB Memory
x x Tabla x Si Si x Si x x Si Si Si Bajo x Si Página x x Si Si x x x x x Si Bajo Si x Tabla x x Si x x x Si Si x Si N/A Medio Alto x Si x Si Si Si

InnoDb
64TB Si Registro Si x Si Si x Si Si Si x Si Alto Alto Bajo x Si Si Si Si Si

Archive
x x Registro Si x x x x x x x Si Si Muy Bajo Bajo Muy Alto x Si x Si Si Si

NDB
Si Si Registro Si x Si Si x x x Si x Si Alto Alto Alto Si Si x Si Si Si

Bajo
Alto x Si x Si Si Si

Bajo
Alto x Si x Si Si Si

Administración de Base de Datos (ST - 214)

Página 34

TRABAJO MONOGRÁFICO 1 - MYSQL
EMPRESAS QUE UTILIZAN MYSQL

Dentro de las empresas que utilizan Mysql en sus ambientes de producción tenemos las siguientes: Sonny, Suzuki, Lycos, Yahoo, Dell, PortaOne, Nasa, Unicef, Mcafee, Aizawa Securities, Google. Como se puede observar, la mayoría son empresas que tienen su aplicación en el internet con base de datos, es decir, aplicaciones web.

CALIDAD DEL SOFTWARE MYSQL

Un proyecto financiado por el departamento de seguridad interna de EEUU con 1.2 millones de euros, es un proyecto completamente independiente ( http://www.whitehouse.gov/pcipb/ ). El estudio realizado por la empresa Coverity (http://www.coverity.com/main.html ) especializada en auditoria de código y evaluación de riesgos y Symantec, en colaboración con la universidad de Stanford. Este proyecto, a parte de los resultados es un proyecto completamente independiente no como otros que han sido financiados por empresas y consultoras afines a una tendencia u otra. En este caso la finalidad era la de saber la verdad sobre el software libre para que ayude a la toma de decisiones. Para el proyecto se analizaron 32 proyectos de software libre uno por uno frente a las aplicaciones propietarias, entre ellos la base de datos libre Mysql, la conclusión fue que el software libre tiene menos errores de programación que el software propietario. Software libre: 0.434 errores por cada 1,000 líneas de código Propietario: de 20 a 30 errores por cada 1,000 líneas de código Incluso en el caso más desastroso, se ha comprobado que en muchas ocasiones las Comunidades de Software Libre tienen pocos problemas en hacer cambios mayores en el código, incluso partiendo desde cero, para solventar errores graves de diseño, cosa que es complicado ver en productos propietarios en producción, que arrastran errores hasta el final del ciclo de vida.

Administración de Base de Datos (ST - 214)

Página 35

TRABAJO MONOGRÁFICO 1 - MYSQL
PRECIOS MYSQL

Mysql es Glp (General Public Licence) no tiene costo, en lo que gana la empresa Mysql Ab es en el soporte y entrenamiento. Al ser una empresa que maneja sus códigos con el tipo de licencia Gpl reduce los costos de desarrollo, administración.

Producto Base de datos Mysql Migration Toolkit Query Browser Administrator Mysql 5.0 Opciones Hot Backup Soporte Mysql Network Basic Mysql Network Silver Mysql Network Gold Mysql Network Platinum Capacitación Mysql High Availability Mysql Performance Tunning Mysql Mew Features Mysql For DataBase Administrators Mysql For Developers Mysql In-Depth Performance Tunnign And Optimization Mysql Cluster Mysql For Beginners Developing Application with Mysql an Php Certificación Core Certification Professional Exam Core and Prof Exam

Por servidor / por año 0 0 0 0 350 Por usuario 595 1995 2995 4995 1495 1995 1995 2495 1495 995 995 1500 2495 2495 200 200 380

Administración de Base de Datos (ST - 214)

Página 36

TRABAJO MONOGRÁFICO 1 - MYSQL

CONCLUSIONES Y RECOMENDACIONES 

El comercio electrónico ofrece opciones de automatización en todos los negocios de las empresas, los documentos digitales son el futuro, al ser este servicio tan imprescindible, se hace necesario analizar las posibilidades existentes en el mercado de bases de datos y las características que una base de datos libre puede solventar frente a las bases de datos comerciales.



La inversión en una base de datos de código abierto es una alternativa válida que gerentes y desarrolladores deberían considerar el momento de escoger una solución informática.



El desarrollo de MySql y la forma en la que los miles de usuarios aportan con la solución pronta a problemas existentes en el motor de base de datos, la hacen ver como una seria competidora ante las bases de datos propietarias, poco a poco sus funcionalidades envidian casi nada a estas últimas.



Hay que tomar en cuenta que la compra del motor de base de datos no es el único gasto que las empresas tendrán que realizar para automatizar sus procesos, existen otros costos como administración, mantenimiento, capacitación, el costo es entonces un punto muy importante para tomar en cuenta a la hora de seleccionar un sistema gestor de bases de datos.



Oracle debe abrir el código fuente de sus aplicaciones de manera que permita a los usuarios un mejor manejo de la herramienta y conocer

Administración de Base de Datos (ST - 214)

Página 37

TRABAJO MONOGRÁFICO 1 - MYSQL
sobre su funcionamiento.  Las pequeñas empresas deben tomar en cuenta las bases de datos de código abierto como Mysql para sus desarrollos ya que tiene muchas funcionalidades como las bases de datos comerciales y que está al alcance de su economía.  En este estudio se detallan buenas razones para usar bases de datos de código abierto en las empresas, en el caso de mysql, cumple con muchas de las características de las bases de datos propietarias, además el soporte es muy bueno y lo principal es que el costo se reduce en gran medida.  Las empresas que utilizan MySQL consiguen reducir su gasto destinado a este tipo de software hasta en un 90%. 

La facilidad de su uso la flexibilidad en diferentes sistemas operativos hacen muy popular esta base de datos.



MySQL es un buen gestor de bases de datos ya que almacena gran cantidad de líneas manejando gran cantidad de capacidad de almacenaje.



Su característica de código abierto permite que se desarrollen nuevas aplicaciones o se adquieran existentes.

Administración de Base de Datos (ST - 214)

Página 38

TRABAJO MONOGRÁFICO 1 - MYSQL
BIBLIOGRAFIA         http://es.wikipedia.org/wiki/MySQL http://www.sorgonet.com/linux/mysql/index_es.php http://www.arrakis.es/~chessy/docs/teoria/Tutorial-MySQL.html http://www.mysql.com/documentation/mysql/bychapter/ http://www.mysql.com/doc/F/u/Fulltext_Search.htm http://www.mysql.com/doc/I/n/Indexes.html http://www.oracle.com Mysql Avanzado, Jeremy D. Zawodny y Derek J. Balling. Editorial O’reilly.  Bases de Datos desde Chen hasta Codd con Oracle, Irene Ruiz, Miguel Angel Gómez, Enrique López Espinosa, Gonzalo Cerruela García, Editorial Alfaomega.    Mysql para Windows y Linux, César Pérez, Editorial Alfaomega. La biblia de Mysql, Ian Gilfillan, Editorial Anaya. Fundamentos de Bases de Datos, Cuarta Edición, Abraham

Silberschatz, Henry F. Korth, S. Sudarshan, Editorial McGraw Hill.  http://www.guia-ubuntu.org/index.php?title=MySQL

Administración de Base de Datos (ST - 214)

Página 39

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close