teoria de sistemas
Noviembre 2005
Jordi Llonch
jordi@laigu.net
http://creativecommons.org/licenses/by-sa/2.0/
Administración de MySQL
Índice
•
•
•
•
•
•
•
•
•
•
•
•
•
Conceptos de MySQL
Instalación
Configuración
Tipos de campos
Introducción a la administración
Monitor (aplicación cliente)
Permisos
Tuning
Monitoraje (mytop)
Chequear y reparar tablasBackup
Replicar
phpMyAdmin
2
Administración de MySQL
Conceptos de MySQL
• MySQL es un motor de base de datos SQL con las siguientes
características:
– Muy rápido.
– Multi-thread.
– Multiusuario.
• Disponemos de dos tipos de licéncia:
– Open Source/Software libre (GNU General Public License).
– Standard commercial license.
3
Administración de MySQL
Conceptos de MySQL:Motores y tipos de tablas
• ISAM
– Es el motor original. En deprecated a partir de la versión 4.1.
• MyISAM
– Reemplazo de ISAM.
– Tipo de tabla por defecto.
– No soporta transacciones.
• HEAP
– Tablas en memoria.
– Actualmente se conoce como MEMORY.
– No soporta transacciones.
• MERGE
– Permite que una colección de tablas MyISAM sean tratadas como
una única tabla.
– No soportatransacciones.
4
Administración de MySQL
Conceptos de MySQL: Motores y tipos de tablas
• BDB (Berkeley DB)
– Soporta transacciones.
– No funciona en todas las plataformas.
• InnoDB
– Soporta transacciones (ACID compliant).
– Bloqueo a nivel de fila (incrementa la capacidad de concurrencia y
rendimiento).
– Se puede mezclar InnoDB con otros tipos de tablas en la misma
bbdd.
•NDB Cluster
– Soporta tablas que se encuentran particionadas en diferentes
ordenadores.
5
Administración de MySQL
Instalación
• Supondremos un sistema Fedora Core 3:
– Instalaremos los siguientes paquetes:
• rpm -i mysql-3.23.58-13.i386.rpm
•
• Si queremos habilitar el soporte de PHP para MySQL:
• rpm -i php-mysql-4.3.9-3.i386.rpm
•
• También podríamos instalar los binariosque podemos descargar en
la web oficial (http://dev.mysql.com/downloads/).
6
Administración de MySQL
Configuración
• Este documento explica algunas directivas de configuración de
MySQL.
• Archivo de configuración:
– my.cnf (plataforma Linux)
– my.ini (plataforma Windows)
7
Administración de MySQL
Configuración
• [client]
– password
= my_password
• contraseña generalde acceso para los clientes (es aconsejable
usar el sistema de autentificación de MySQL)
– port
= 3306
• puerto dónde se conectaran los clientes (acceso via TCP/IP)
– socket
= /var/run/mysqld/mysqld.sock
• acceso mediante sockets Unix (localhost)
8
Administración de MySQL
Configuración
• [safe_mysqld]
– err-log
= /var/log/mysql/mysql.err
• archivo dónde seregistrarán los errores del servidor
• [mysqld]
– user
= mysql
• usuario bajo el cual se ejecuta el servidor
– pid-file
= /var/run/mysqld/mysqld.pid
• Fichero en el que el servidor guarda el ID del proceso demonio de
escucha (daemon).
– socket
= /var/run/mysqld/mysqld.sock
• Fichero en el que el servidor crea el socket
– port
= 3306
• Puerto desde donde se aceptaranconexiones
9
Administración de MySQL
Configuración
• [mysqld]
– log
= /var/log/mysql.log
• Archivo donde se registra el log
– basedir
= /usr
• Directorio donde se encuentra MySQL.
– datadir
= /var/lib/mysql
• Directorio donde están los datos
– tmpdir
= /tmp
• Directorio temporal (para crear pej. tablas temporales)
– language
= /usr/share/mysql/english• Archivo de mensajes
– skip-locking
• No usar sistema de bloqueo (para hacer chequeos se tendrá que
parar el servidor)
– skip-networking
• No escucha conexiones TCP/IP.
10
Administración de MySQL
Configuración
• [mysql.server]
– key_buffer=16M
• tamaño de buffer de los índices
– max_allowed_packet=1M
• tamaño máximo de un paquete. Se tendrá que incrementar si se...
Regístrate para leer el documento completo.