Mysql
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 tablas Backup ReplicarphpMyAdmin
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 soporta transacciones. 4Administració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 seencuentran 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 binarios que 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 general de acceso para los clientes (es aconsejable usar elsistema 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 se registrarán los errores del servidor
• [mysqld]
– user –pid-file = mysql
• usuario bajo el cual se ejecuta el servidor
= /var/run/mysqld/mysqld.pid
• Fichero en el que el servidor guarda el ID del proceso demonio de escucha (daemon).
– socket – port
= /var/run/mysqld/mysqld.sock = 3306
• Fichero en el que el servidor crea el socket • Puerto desde donde se aceptaran conexiones
9
Administración de MySQL
Configuración
• [mysqld]– log – basedir – datadir – tmpdir – language – skip-locking
• No usar sistema de bloqueo (para hacer chequeos se tendrá que parar el servidor)
= /var/log/mysql.log
• Archivo donde se registra el log
= /usr = /var/lib/mysql = /tmp
• Directorio donde se encuentra MySQL. • Directorio donde están los datos • Directorio temporal (para crear pej. tablas temporales)
=/usr/share/mysql/english
• Archivo de mensajes
– 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 quiere utilizar columnas BLOB grandes.
– thread_stack=128K
• tamaño de cada hilo
–...
Regístrate para leer el documento completo.