Download Administración básica 2. Copias de seguridad de bases de datos 3

Document related concepts

MySQL Cluster wikipedia , lookup

MySQL wikipedia , lookup

Mecanismos de almacenamiento (MySQL) wikipedia , lookup

Navicat wikipedia , lookup

HeidiSQL wikipedia , lookup

Transcript
1.
2.
3.
Administración básica
Copias de seguridad de bases de
datos
Duplicación de base de datos
M. C. Gustavo Alfonso Gutiérrez
Carreón
 El
administrador de base de datos
(DBA) es la persona responsable de
los aspectos ambientales de una
base de datos. En general esto
incluye:
 Respaldo
y Recuperación de datos Crear y probar Respaldos
 Integridad - Verificar o ayudar a la
verificación en la integridad de datos
M.C. Gustavo A. Gutiérrez Carreón
abr-10
 Seguridad
- Definir o implementar
controles de acceso a los datos
 Disponibilidad - Asegurarse del mayor
tiempo de encendido
 Desempeño - Asegurarse del máximo
desempeño incluso con las limitaciones
 Desarrollo y soporte a pruebas - Ayudar
a los programadores e ingenieros a
utilizar eficientemente la base de
datos
M.C. Gustavo A. Gutiérrez Carreón
abr-10
MySQL es un sistema de gestión de base 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.

M.C. Gustavo A. Gutiérrez Carreón
abr-10
Al contrario de proyectos como Apache, donde el
software es desarrollado por una comunidad
pública y el copyright del código está en poder
del autor individual, MySQL es propietario y está
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.

M.C. Gustavo A. Gutiérrez Carreón
abr-10
 Como
administrador, necesitara saber mucho
mas sobre el funcionamiento de MySQL que
como un simple ejecutor de consultas .
 Deberá familiarizarse con las utilidades que
incorpora la distribución de MySQL, así como
con su forma de configurar el servidor.
 A continuación se describen las principales
 utilidades dirigidas a 10s administradores:
M.C. Gustavo A. Gutiérrez Carreón
abr-10







mysqladmin: Se trata probablemente de la utilidad
administrativa mas util. Permite crear y eliminar bases de datos,
detener el servidor, visualizar variables de servidor, visualizar y
anular procesos de MySQL, establecer contraseñas y vaciar
archivos de registros, entre otras cosas.
mysqld: No se trata de una utilidad en realidad, ya que es el
servidor de MySQL. Es probable que se tope con terminos como
las variables de mysqld, que no son otra cosa que variables de
servidor.
mysqldump. Permite hacer respaldos de la estrucura y datos de
nuestra base de datos.
mysqlimport: Importa archivos de texto a tablas de base de
datos.
mysqlcheck: Comprueba, analiza y repara bases de datos.
mysqlhotcopy: Una secuencia de comandos de Per1 que hace
volcados de tablas de base de datos rapidamente.
myisampack: Comprime tablas MyIS AM.
M.C. Gustavo A. Gutiérrez Carreón
abr-10







mysqladmin
Mysqladmin es una utilidad para realizar tareas de mantenimiento de
nuestras bases de datos, que viene incluida en la distribución de mysql.
Su sintaxis es:
prompt> mysqladmin [OPCIONES] comando [opciones de comando]
comando2 ... Puedes obtener una lista de las opciones disponibles en tu
versión de mysql tecleando mysqladmin --help|more
A continuación una lista de las opciones mas corrientes. Primero vemos su
denominación abreviada, y separado con una barra vertical | su nombre
completo:
-p|--password [=pwd]
La contraseña para conectar con el server. Si usamos --p sin proporcionar
la contraseña, mysql nos la preguntará antes de ejecutar el comando.
-u|--user [=nombre de usuario]
El nombre de usuario. Es necesario especificarlo si no hemos hecho aun
log en el server
-h|--host=hostname
Conecta al servidor. Si no lo especificamos, intentará localhost
M.C. Gustavo A. Gutiérrez Carreón
abr-10







-P|--port=pnum
Especifica el puerto por el que conectara al server. Si no se
especifica usará el puerto por defecto
-f|--force
Mediante esta opción podemos hacer drop en una base de datos
(eliminarla) sin que pida confirmación. Si usamos esta opción en
una orden que incluya varios comandos, obligamos a la ejecución
de todos ellos incluso aunque haya algun error.
-?|--help
muestra la ayuda y sale de la ejecución
-s|--silent
Cierra la ejecución si no puede conectar con el server
-v|--verbose
Especifica que el server debe contestar con toda la información
disponible a cada comando que ejecutemos
-V|--version
Muestra la versión y sale
-w|--wait [=num de intentos]
Reintenta la conexión si el server esta caído
M.C. Gustavo A. Gutiérrez Carreón
abr-10






create nombre_base_datos
Crea una nueva base de datos con el nombre
proporcionado.
drop nombre_base_datos
Elimina la base de datos especificada (y todas sus
tablas).
status
proporciona un mensaje con el status del server.
extended-status
Mensaje con información extendida sobre el server.
version
Ofrece la version del servidor.
flush-hosts
Vacía los servidores almacenados en cache.
M.C. Gustavo A. Gutiérrez Carreón
abr-10











flush-logs
Vacia los archivos de registro
flush-tables
Vacía todas las tablas.
flush-privileges
Recarga las tablas con los permisos de usuario (igual que reload).
kill id,id,...
Elimina los subrprocesos especificados.
password
Especifica una nueva contraseña
ping Comprueba si mysqld se está ejecutando.
processlist
Muestra los subprocesos abiertos en el server.
reload
Recarga los permisos de usuario.
refresh
Vacía las tablas de permisos, cierra y abre los archivos de registro.
shutdown Apaga el server.
variables
Muestra las variables disponibles.
M.C. Gustavo A. Gutiérrez Carreón
abr-10
 Con
mysqldump puedes obtener copias de la
estructura y datos de las tablas.
 Con la copia de la estructura podrás recrear
tus tablas (vacías de datos) mientras que con
la copia completa de estructura y datos
obtendrás una copia espejo de tu base de
datos.
 Este es también el método lógico si lo que
quieres es pasar tu base de datos de un
servidor a otro, por ejemplo de tu servidor
local de pruebas al servidor en la red.
M.C. Gustavo A. Gutiérrez Carreón
abr-10
 Veamos
algunos ejemplos:
 Copia de estructura y datos:
c:\mysql\bin>mysqldump -u root -p --opt
nombre_de_mi_db_a_copiar > nombre_copia.sql
 Copia
solo datos:
c:\mysql\bin>mysqldump -u root -p --no-create-info
nombre_de_mi_db_a_copiar > nombre_copia.sql
 Copia
solo estructura:
c:\mysql\bin>mysqldump -u root -p --no-data
nombre_de_mi_db_a_copiar > nombre_copia.sql
M.C. Gustavo A. Gutiérrez Carreón
abr-10
 Como
no hemos indicado ruta ninguna, los
archivos resultantes aparecerán en bin.
 Para cargar el respaldo de nuevo en el server,
simplemente: el proceso a la inversa:
c:\mysql\bin>mysql -u root -pcontraseña base_a_cargar <
copia_respaldo.sql.
M.C. Gustavo A. Gutiérrez Carreón
abr-10
M.C. Gustavo A. Gutiérrez Carreón
abr-10