¿Me pueden ayudar?
Deseo copiar las bases de datos que se generan en LinEx PyME. he intentado hacer un backup con mysql gui tools, pero dañé la base de datos,
gracias
Publicado:
Mar Sep 09, 2008 3:30 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: problema: copia bases datos
Anuncios
dogmania escribió:
¿Me pueden ayudar?
Deseo copiar las bases de datos que se generan en LinEx PyME. he intentado hacer un backup con mysql gui tools, pero dañé la base de datos,
gracias
Para copiar las bases de datos de LinEx Pyme sigue estos pasos:
1º Averiguar dónde están los ficheros de datos de los esquemas (bases de datos) de MySQL, para ello abre una ventana de terminal, desde el "Menú principal" - "Debian" - "XShells" - "Gnome Terminal". A continuación cambia al superusuario root con el comando:
Código:
su - root
Para acceder al shell de MySQL ejecuta el comando:
Código:
mysql
Te aparecerá una línea de comandos de MySQL, ahora podremos, por ejemplo, ver los esquemas de LinEx Pyme:
Código:
show database;
Devolverá:
galopin
mysql
test
Ejecutando el comando:
Código:
use galopin;
Accederemos al esquema de LinEx Pyme, para ver las tablas de este esquema podremos ejecutar el comando MySQL:
Código:
show tables;
Para ver las tablas de la base de datos "galopin".
Volviendo al tema que nos ocupa, para saber dónde están ubicados los ficheros de la base de datos ejecuta el comando:
Con lo cual ya sabemos que los ficheros físicos de la base de datos se encuentran en:
/var/lib/mysql
2º A continuación detendremos el servicio de MySQL, para realizar la copia física de la base de datos, con el comando Linux:
Código:
/etc/init.d/mysql stop
3º Realiza la copia de los ficheros con el comando:
Código:
cp /var/lib/mysql/* unidad_carpeta_destino -r
4º Vuelve a iniciar el servicio de MySQL con el comando:
Código:
/etc/init.d/mysql start
De esta forma habrás realizado una copia de seguridad física de la base de datos de MySQL de LinEx Pyme.
Otra posibilidad es realizar una copia de seguridad lógica de todas las bases de datos MySQl, incluyendo la "galopin" de MySQL, para ello ejecuta este comando:
Con esto se creará un fichero en /destino_copia, con el nombre "copia_mysql.sql" donde quedarán guardadas todas las consultas SQL (create, insert, etc) necesarias para crear los esquemas, las tablas y los datos de todos ellos. Este fichero es de texto plano y accesible con cualquier editor de textos (como vi ó nano).
Obviamente, en "--user" introduciremos un usuario con permisos suficientes para acceder a los esquemas de los que realizaremos la copia de seguridad y en "--password" introduciremos la contraseña de este usuario.
Publicado:
Mar Sep 16, 2008 6:47 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: problema: copia bases datos
Anuncios
¿se puede hacer en Linux un script o algo que ejecute la copia de seguridad lógica de MySQL y genere un fichero comprimido con el nombre del día?
Lo que quiero es poder guardar una copia de seguridad de la base de datos de MySQL de cada día y comprimirla para que no ocupe demasiado ¿esto es posible?
Publicado:
Mar Sep 16, 2008 8:44 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: problema: copia bases datos
Anuncios
varios escribió:
¿se puede hacer en Linux un script o algo que ejecute la copia de seguridad lógica de MySQL y genere un fichero comprimido con el nombre del día?
Lo que quiero es poder guardar una copia de seguridad de la base de datos de MySQL de cada día y comprimirla para que no ocupe demasiado ¿esto es posible?
Sí, por supuesto, para crear un fichero de copia de seguridad de MySQL por cada día, abre un editor de texto como "vi" ó "nano" y escribe el siguiente contenido:
Código:
DIA=`date +$y$m$d`; export DIA
mysqldump --user='fernando' --password='alonso' --all-databases > /destino_copia/mysql_$DIA.sql
tar -czvf /destino_copia/mysql_$DIA.tar /destino_copia/mysql_$DIA.sql
rm /destino_copia/mysql_$DIA.sql
Guarda el fichero con el nombre que quieras y la extensión .sh (aunque no es necesaria), por ejemplo "copia_mysql.sh".
Ahora tendrás que darle a este script permisos de ejecución, para ello ejecuta el comando:
Código:
chmod a+x copia_mysql.sh
También vale el comando (equivalente al anterior):
Código:
chmod 755 copia_mysql.sh
Y para programarlo utiliza el crontab, aquí tienes un manual que explica cómo hacerlo:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A