Mysql

39
 TRABAJO MONOGRÁFICO 1 - MYSQL Administración de Base de Datos (ST - 214) Página 1 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

Transcript of Mysql

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 1/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 1

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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 2/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 2

CALIDAD DEL SOFTWARE MYSQL .................................................................................... 35

PRECIOS MYSQL.................................................................................................................... 36

CONCLUSIONES Y RECOMENDACIONES....................................................................... 37

BIBLIOGRAFIA ......................................................................................................................... 39

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 3/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 3

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 estalicencia, 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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 4/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 4

MYSQL 

El sistema de base de datos operacional MySQL es hoy en día uno de los másimportantes 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 tuvieronque 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 5/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 5

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 lasversiones 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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 6/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 6

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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 7/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 7

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 conectarusando 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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 8/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 8

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 queprovienen 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 9/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 9

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 10/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 10

APLICACIONES

MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, enplataformas (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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 11/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 11

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 unsistema. 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 12/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 12

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 nohay 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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 13/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 13

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 14/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 14

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 dedisco 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

forma explícita mediante FLUSH TABLES. * La tabla se ha desechado. * El

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 deerrores. Ante la duda, se tienen que comprobar las limitaciones del sistema

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 15/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 15

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. Losdescriptores 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 16/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 16

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 GROUPBY. 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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 17/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

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

* 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 18/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 18

key_reads 16525182

Key_write_requests 303516563

Key_writes 152315649

Estas cuatro variables dicen mucho sobre el rendimiento del búffer de clavesde 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 parala comparación, realmente no se sabrá cómo ha cambiado el impacto de

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 19/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 19

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 20/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 20

INSTALACIÓN DE MYSQL EN WINDOWS 7

Instalar MySQL en Windows

Tenemos tres tipos de instalación, típica, completa y personalizada, típica ycompleta 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 elementosinstalaremos, por defecto instalará todo menos los “Developers Components“,

son opcionales, contienen ejemplos, scripts y algunas librerías para los máscuriosos.

La carpeta de instalación por defecto es c:\Archivos dePrograma\MySQL\MySQL Server 5.1\, podemos cambiarla con el botónChange, y debes recordarla para más adelante. Presionamos siguiente einstalar 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 lohace a modo de publicidad, presionamos siguiente para continuar.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 21/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 21

Es momento de configurar MySQL Server como un servicio en Windows 7 y silo deseamos registrarnos en SunConnect para obtener noticias, novedades ynotificaciones de actualizaciones deMySQL, luego presionamos Finalizar.

Configurar y Activar Servidor MySQL en Windows

En el asistente de configuraciones podemos decidir entre una configuracióndetallada o estándar. La instalación estándar agrega MySQL como un servicioWindows que se ejecuta automáticamente al iniciar, se debe utilizar encomputadoras que no tengan instaladas MySQL.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 22/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 22

Pero haremos la configuración detallada que por ser más precisa nos permiteahondar más en este artículo. En este punto de la configuración nos brinda tresformas posible:

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

  Server Machine

Recomendada cuando instalamos MySQL Server en un servidor dondeexisten otras aplicaciones en modo Servidor, por ejemplo Aplicaciones Web

que se sirven de este mismo servidor. En este caso MySQL hace un usointermedio 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. Enesta configuración MySQL utilizara toda la memoria y recursos disponibles.

Seleccionaremos en nuestro caso Developer Machine:

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 23/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 23

y presionamos siguiente. Ahora debemos definir el tipo de uso que se le dará alas bases de datos.

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

  Multifunctional DatabaseDefine un propósito general, es la que seleccionaremos en nuestro caso paratesting y desarrollo. Optimizara el servidor para transacciones rápidasen 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 datosde 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 noadmite InnoDB.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 24/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 24

En nuestro caso seleccionaremos Multifunctional Database.

La siguiente selección es la carpeta donde se almacenaran los datos, pordefecto podemos usar una subcarpeta que se creará en el lugar de lainstalació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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 25/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 25

seleccionamos Online Transaction Processing (OLTP), o en este caso como espara testing seleccionamos Manual Setting, y definimos el número deconexiones 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 defectoindicando el puerto 3306 y también marcando “Add firewall exception for thisport” de forma de no tener problemas con el Firewall, y presionamos siguiente.

El juego de caracteres es lo siguiente a indicar

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 26/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 26

Por defecto define Standard Character Set, o latin1, también conocidocomo iso-8859-1, pero la mayoría de los servidores web y aplicacionescomo WordPress utilizan por defecto UTF8 ya que soporta mejor caracteresmultilenguaje, la opción es Best Support For Multilingualism que

seleccionaremos en este caso, la última opción Manual Selected DefaultCharacter Set / Collation nos permite seleccionar manualmente el Char Set.

Debemos indicar ahora que MySQL Server se ejecutar como un ServicioWindows (Install As Windows Service),

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

En este punto debemos prestar mucha atención

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 27/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 27

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

usuario root, y continuamos con siguiente.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 28/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 28

hemos culminado con estos los pasos, presionamos Execute para que setermine de Instalar y Configurar MySQL. Presionamos Finish cuando aparezcael mensaje final de instalación.

En el menú inicio podemos ejecutar nuevamente el Asistente de Configuraciónde Instancias MySQL (MySQL Server Instance Config Wizard) en caso que seanecesario.

Ahora ya podemos utilizar MySQL desde nuestras aplicaciones PHP, .NET, yotras.

  Abrimos MySQL desde la línea de comandos: mysql -u root -p (Enter), nospide 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 wherehost=”localhost” and user=”"; 

  Cambiamos el password: mysql> update user setpassword=password(“acaelnuevopassword”) wher user=”root”; 

  Limpiamos el cache de Tablas: mysql> flush tables;

  Y el de permisos: mysql> flush privileges;

Instalación de MySQL en Ubuntu y operaciones en Ubuntu

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 

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 29/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 29

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 elservidor 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

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 30/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 30

shell>cd etc/init.dshell>./mysql restart

Para que todos los demás ordenadores tengan acceso al servidor. Para másseguridad 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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 31/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 31

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=localhostUSER=usuarioPASS=secreto

BACKUP_DIR=Backup## END CONFIG ##  

if [ ! -d $BACKUP_DIR ]; thenmkdir -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 ; doecho "* Backuping MySQL data from $DB@$HOST..."mysqldump -h $HOST -u $USER -p$PASS $DB >

$BACKUP_DIR/mysql_$DB.sqldone

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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 32/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 32

APLICACIONES ADMINISTRATIVAS DE MYSQL

Aplicaciones Administrativas de Mysql

Aplicación Descripción

Mysql Migration Toolkit

Mysql Migration Toolkit administra y realiza tareas de

migracion de datos a Oracle, Sql Server, Access, Jdbc

Generico .

Mysql AdministratorAdministra las instancias, backup, usuarios, performance,

logs, replica

Mysql WorkbenchEs el nuevo dbDesigner con al cual se puede hacer el

proceso de ingenieria inversa

Mysql Monitor Un Monitor del Servidor y manejador de las instancias

Mysql Query Browser

Administra las consultas Sql, creación de

procedimientos, vistas, manipulación de sripts, ayuda

sobre la sintaxis de mysql

Plone Herramienta Case

Ruby on Rails

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.

 

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 33/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 33

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 34/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 34

Comparación de los diferentes tipos de almacenamiento en Mysql

Comparativa de almacenamiento de Datos en Mysql

Característica MyIsam BDB Memory InnoDb Archive NDB

Limites de Almacenamiento x x Si 64TB x Si

Transacciones (Commit, roolback, etc.) x Si x Si x Si

Granularidad de Bloqueo Tabla Página Tabla Registro Registro Registro

MVCC (Multi-version concurrency control) / 

Snapshot Readx x x Si Si Si

Soporte Geoespatial Si x x x x x

Indices B-Tree Si Si Si Si x Si

Indices Hash x Si x Si x Si

Indice de búsqueda Full text Si x x x x x

Clustered Index x x x Si x x

Cache de Datos x x Si Si x xCache de Indices Si x Si Si x Si

Compresión de Datos Si x x x Si x

Encriptación de datos Si Si Si Si Si Si

Costo de Almacenamiento ( espacio utilizado

)Bajo Bajo N/A Alto Muy Bajo Alto

Costo de Memoria Bajo Bajo Medio Alto Bajo Alto

Velocidad de Inserción Alto Alto Alto Bajo Muy Alto Alto

Cluster DataBase Support x x x x x Si

Soporte para Replica Si Si Si Si Si Si

Soporte para claves foraneas x x x Si x x

Backup / Point-in-time Recovery Si Si Si Si Si Si

Soporte para Query Cache Si Si Si Si Si Si

Estadísticas de Actualización para

diccionario de datosSi Si Si Si Si Si

 

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 35/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 35

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 36/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 36

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.

ProductoPor servidor / 

por año

Base de datos

Mysql Migration Toolkit 0

Query Browser 0Administrator 0

Mysql 5.0 0

Opciones

Hot Backup 350

Soporte Por usuario

Mysql Network Basic 595

Mysql Network Silver 1995

Mysql Network Gold 2995

Mysql Network Platinum 4995

CapacitaciónMysql High Availability 1495

Mysql Performance Tunning 1995

Mysql Mew Features 1995

Mysql For DataBase Administrators 2495

Mysql For Developers 1495

Mysql In-Depth 995

Performance Tunnign And Optimization 995

Mysql Cluster 1500

Mysql For Beginners 2495

Developing Application with Mysql an Php 2495Certificación

Core Certification 200

Professional Exam 200

Core and Prof Exam 380  

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 37/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 37

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

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 38/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 38

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.

5/17/2018 Mysql - slidepdf.com

http://slidepdf.com/reader/full/mysql-55ab58cf1af76 39/39

 

TRABAJO MONOGRÁFICO 1 - MYSQL

Administración de Base de Datos (ST - 214) Página 39

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