Bases de datos en MySQL
omarsitouu10 de Enero de 2013
15.153 Palabras (61 Páginas)388 Visitas
Bases de datos
en MySQL
Luis Alberto Casillas Santillán
Marc Gibert Ginestà
Óscar Pérez Mora
P06/M2109/02151
© FUOC • P06/M2109/02151 Bases de datos en MySQL
Índice
Introducción .............................................................................................. 5
Objetivos ..................................................................................................... 6
1. Características de MySQL .................................................................. 7
1.1. Prestaciones ...................................................................................... 7
1.2. Limitaciones ..................................................................................... 8
2. Acceso a un servidor MySQL ............................................................. 9
2.1. Conectándose con el servidor .......................................................... 9
2.1.1. Servidores y clientes ............................................................... 9
2.1.2. Conectarse y desconectarse .................................................... 10
2.2. Introducción de sentencias .............................................................. 10
2.2.1. Sentencias ............................................................................... 11
2.2.2. Comandos en múltiples líneas ............................................... 11
2.2.3. Cadenas de caracteres ............................................................. 12
2.2.4. Expresiones y variables .......................................................... 13
2.2.5. Expresiones ............................................................................. 14
2.3. Proceso por lotes ............................................................................... 14
2.4. Usar bases de datos ........................................................................... 17
3. Creación y manipulación de tablas ................................................ 20
3.1. Crear tablas ....................................................................................... 20
3.2. Tipos de datos ................................................................................... 23
3.2.1. Tipos de datos numéricos ...................................................... 23
3.2.2. Cadenas de caracteres ............................................................. 24
3.2.3. Fechas y horas ........................................................................ 25
3.3. Modificar tablas ................................................................................ 25
3.3.1. Agregar y eliminar columnas ................................................. 25
3.3.2. Modificar columnas ............................................................... 26
3.4. Otras opciones .................................................................................. 27
3.4.1. Copiar tablas .......................................................................... 27
3.4.2. Tablas temporales ................................................................... 27
4. Consultas ............................................................................................... 28
4.1. La base de datos demo ...................................................................... 28
4.2. Consultar información ..................................................................... 29
4.2.1. Funciones auxiliares ............................................................... 30
4.2.2. La sentencia EXPLAIN ............................................................ 31
4.3. Manipulación de filas ....................................................................... 33
5. Administración de MySQL ................................................................ 35
5.1. Instalación de MySQL ....................................................................... 35
© FUOC • P06/M2109/02151 Bases de datos en MySQL
5.2. Usuarios y privilegios ........................................................................ 38
5.2.1. La sentencia GRANT .............................................................. 39
5.2.2. Especificación de lugares origen de la conexión ................... 40
5.2.3. Especificación de bases de datos y tablas ............................... 41
5.2.4. Especificación de columnas ................................................... 42
5.2.5. Tipos de privilegios ................................................................ 42
5.2.6. Opciones de encriptación ...................................................... 44
5.2.7. Limites de uso ........................................................................ 44
5.2.8. Eliminar privilegios ................................................................ 45
5.2.9. Eliminar usuarios ................................................................... 45
5.2.10. La base de datos de privilegios: mysql ................................. 45
5.3. Copias de seguridad .......................................................................... 48
5.3.1. mysqlhotcopy ........................................................................ 50
5.3.2. mysqldump ............................................................................ 50
5.3.3. Restaurar a partir de respaldos ............................................... 51
5.4. Reparación de tablas ......................................................................... 52
5.4.1. myisamchk ............................................................................. 54
5.5. Análisis y optimización .................................................................... 55
5.5.1. Indexación .............................................................................. 55
5.5.2. Equilibrio ................................................................................ 57
5.5.3. La cache de consultas de MySQL ........................................... 58
5.6. Replicación ....................................................................................... 59
5.6.1. Preparación previa .................................................................. 60
5.6.2. Configuración del servidor maestro ...................................... 60
5.6.3. Configuración del servidor esclavo ........................................ 61
5.7. Importación y exportación de datos ................................................ 62
5.7.1. mysqlimport ........................................................................... 63
5.7.2. mysqldump ............................................................................ 63
6. Clientes gráficos ................................................................................... 65
6.1. mysqlcc ............................................................................................. 65
6.2. mysql-query-browser ........................................................................ 66
6.3. mysql-administrator ......................................................................... 67
Resumen ...................................................................................................... 70
Bibliografía ................................................................................................ 71
© FUOC • P06/M2109/02151 5 Bases de datos en MySQL
Introducción
MySQL es un sistema gestor de bases de datos (SGBD, DBMS por sus siglas en
inglés) muy conocido y ampliamente usado por su simplicidad y notable rendimiento.
Aunque carece de algunas características avanzadas disponibles en
otros SGBD del mercado, es una opción atractiva tanto para aplicaciones comerciales,
como de entretenimiento precisamente por su facilidad de uso y
tiempo reducido de puesta en marcha. Esto y su libre distribución en Internet
bajo licencia GPL le otorgan como beneficios adicionales (no menos importantes)
contar con un alto grado de estabilidad y un rápido desarrollo.
MySQL está disponible para múltiples plataformas, la seleccionada para los
ejemplos de este libro es GNU/Linux. Sin embargo, las diferencias con cualquier
otra plataforma son prácticamente nulas, ya que la herramienta utilizada
en este caso es el cliente mysql-client, que permite interactuar con un
servidor MySQL (local o remoto) en modo texto. De este modo es posible realizar
todos los ejercicios sobre un servidor instalado localmente o, a través de
Internet, sobre un servidor remoto.
Para la realización de todas las actividades, es imprescindible que dispongamos
de los datos de acceso del usuario administrador de la base de datos. Aunque
en algunos de ellos los privilegios necesarios serán menores, para los
capítulos que tratan la administración del SGBD será imprescindible disponer
de las credenciales de administrador.
Nota
Las sentencias o comandos escritos por el usuario estarán en fuente monoespaciada, y las
palabras que tienen un significado especial en MySQL estarán en negrita. Es importante hacer
notar que estas últimas no siempre son palabras reservadas, sino comandos o sentencias
de mysql-client.
La versión
...