Autor Tema: MySQL 5 y Bases de Datos  (Leído 20656 veces)

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
MySQL 5 y Bases de Datos
« : noviembre 15, 2006, 09:09:45 am »
Amigos, necesito su ayuda urgentemente con MySQL. Mi problema es el siguiente:

He instalado MySQL en mi computador y he configurado en la instalación que las bases de datos se alojaran en mi unidad D:

Y en efecto he importado de otro motor de base de datos, una data que pesa mas de dos gigas, pero ahora tengo la siguiente interrogante.

¿Si formateo mi equipo e instalo nuevamente MySQL como le hago para atachar esa base de datos que tengo en mi unidad D:? Porque fui a revidar a archivos de programas y resulta ser que las estructuras de mi DATA estan en la unidad C: con extension .frm.. Entonces tengo ahora la confusion de como funciona en esta parte especifica el MySQL. Porque lo unico que tengo en mi unidad D: es un archivo llamada ibdata

Podrian ustedes orientarme?


"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: MySQL 5 y Bases de Datos
« Respuesta #1 : noviembre 15, 2006, 09:18:12 am »
Hace un mysql dump de la base de datos y despues importala en otra maquina con mysql , revisala extensivamente si todos los datos han sido importados satisfactoriamente.

Por si acaso siempre respalda el foder de mysql en archivos de programas y la carpeta en donde le pusistes que guardara las bases de datos.

Si el sql que te genero mysqldump funciono en la otra maquina podes instalar el nuevo mysql y luego importar la base de datos.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: MySQL 5 y Bases de Datos
« Respuesta #2 : noviembre 15, 2006, 09:22:55 am »
Mira, la mejor manera de hacer bakcups de mysql es utilizando la herramienta mysqldump.

El uso es bastante sencillo.. abres una consola en windows y escribes:

Código: [Seleccionar]
mysqldump --user=root --password=pass -A > backup-completo.sql

Si queres únicamente una base de datos:

Código: [Seleccionar]
mysqldump --user=root --password=pass nombrebasedatos > backup-nombrebasedatos.sql

Luego para restaurar la BD es más facil... siempre en la consola.

Código: [Seleccionar]
mysql --user=root --password=pass < backup-completo.sql

O si es una sola bd

Código: [Seleccionar]
mysql --user=root --password=pass nombrebasedatos < backup-nombrebasedatos.sql

Nota: Tenes que tener el directorio de ejecutables de MySQL en el PATH, sino no vasa poder correr los programas. Si no lo tenes vas a tener que agregarlo.


Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
Re: MySQL 5 y Bases de Datos
« Respuesta #3 : noviembre 15, 2006, 09:26:08 am »
gracias... en realidad no se micho de esto pero quien lee aqui conmigo lo agradece y se que entendera.... muy amables de su parte amigos
"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: MySQL 5 y Bases de Datos
« Respuesta #4 : noviembre 15, 2006, 09:27:40 am »
Ahh otra cosa, asegurate de que el mysql a donde vas a importar la base de datos sea igual o superior al que tenes instalado actualmente...

Por ejemplo, si tenes el 5.0.1 no te da problemas en importar al 5.0.2 o al 5.1, pero si queres importar a un 4.x o a un 5.0.0 es muy probable que te tire errores.

También revisa el soporte de los motores que tiene, en el 4 sobre todo a veces uno activa el motor de InnoDB para la integridad referencial, y al migrar a otro mysql4 se le olvida activar el motor en la config, y pues obviamente el bakcup intentara crear las tablas como InnoDB y la base de datos destino no posee soporte para ese motor.


Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
Re: MySQL 5 y Bases de Datos
« Respuesta #5 : noviembre 15, 2006, 09:29:50 am »
entiendo.. solo una preguntita mas...

entonces el MySQL, guarda la data en la unidad que se le indica pero... las estructuras de la misma siempre las guarda en la unidad c?.... y la unica forma de atachar una base de datos en la misma PC o en otra es haciendo previamente un respaldo a la misma?.
"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: MySQL 5 y Bases de Datos
« Respuesta #6 : noviembre 15, 2006, 09:34:00 am »
se supone que en donde vos le especificas, pero yo creo que vos lo que nos estas diciendo es que le pusistes el drive D cuando te pregunta de unas cosas de las tablas InnoDB , mysql crea una carpeta para cada base de datos y contiene 3 achivos por cada tabla , esos frm de los que nos hablabas antes por ejemplo.


Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: MySQL 5 y Bases de Datos
« Respuesta #7 : noviembre 15, 2006, 09:39:10 am »
entiendo.. solo una preguntita mas...

entonces el MySQL, guarda la data en la unidad que se le indica pero... las estructuras de la misma siempre las guarda en la unidad c?.... y la unica forma de atachar una base de datos en la misma PC o en otra es haciendo previamente un respaldo a la misma?.


Depende del tipo de tabla, por ejemplo las tablas MyISAM se pueden copiar directamente de los archivos .frm que es donde se guardan los datos. Para las tablas InnoDB no queda de otra que hacer el bakcup de la forma en que te especifique arriba.

Sea como sea, en teoría no tendrías que copiar los archivos .frm a menos que algo muy malo haya pasado, por ejemplo que se haya arruinado el disco y tu unico bakcup sean los archivos de datos de MySQL.

Como dije arriba, la mejor forma (y la más segura) de hacer backups es utilizando mysqldump.


Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
Re: MySQL 5 y Bases de Datos
« Respuesta #8 : noviembre 15, 2006, 09:41:19 am »
claro Rdogg... cuando se instalo el MySQL, hace una pregunta donde se alojaran las bases de datos y se indico que en la unidad D:.. pero cuando se hizo una migracion de bases de datos, que por cierto fue exitosa porque podemos verla desde my sql.. lo extraño es que en la unidad D: en la carpeta que el mismo Mysql creo.. solo hay un archivo llamado ibdata1.. y en la unidad C:  donde esta instalado el MySql en la carpeta DATAS, alli esta la carpeta correspondiente a la base de datos con los nombres de todas mis tablas con extension .frm pero no logran pesar ni  64kb... eso me hace pensar que la estructura se guardo en C: pero el contenido de los datos en D:... ahora bien he alli la confusion porque se esperaba que dicha estructura tambien estuviese en la unidad D:.. eso no es posible?
"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: MySQL 5 y Bases de Datos
« Respuesta #9 : noviembre 15, 2006, 09:44:24 am »
pues en linux si especificas que carpeta va a usar para los datos y ahi guarda todo, pero en mysql no te debes de complicar y tratar de hacer las cosas con pegar unos archivos encima de otros, para eso estan las herramientas de migracion que te van a exportar tanto datos como estructura, y debes de rebuscarte reemplazando archivos solo si la migracion no fue exitosa y ya no tenes de otra.

Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
Re: MySQL 5 y Bases de Datos
« Respuesta #10 : noviembre 15, 2006, 09:46:01 am »
Entendido... lo unico que no me queda claro es si MySQL trabaja asi, con informacion parcial en unidades distintas.. porque insisto en que se esperaba que todo fuera guardado en la unidad D:.. pero no fue asi
"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: MySQL 5 y Bases de Datos
« Respuesta #11 : noviembre 15, 2006, 09:50:49 am »
Citar
The .frm files only store information about the structure of tables. These files don't store any data at all. The .frm files are present regardless of whether you use MyISAM or InnoDB.

All data and indexes for InnoDB tables are stored together in a "tablespace" file, which is by default located in the datadir and it is called "ibdata1".

There are of course quite a few options available to control the name, location, and size of the tablespace file (see [dev.mysql.com]), add supplementary tablespace files (see [dev.mysql.com]), and also options to store data for InnoDB tables in a file per table (see [dev.mysql.com]).

But the default setup is to store all InnoDB tables for all databases under the current MySQL instance in this single shared file.

Te dejo esto para que te ilustre mas  :drinks:

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: MySQL 5 y Bases de Datos
« Respuesta #12 : noviembre 15, 2006, 09:53:58 am »
No viejo no te compliques la vida, te explico como esta el asunto

MySql trabaja con tres tipos de archivos como ya te explicaron: (*.frm, *.MYD, y *.MYI)

si lo que quieres hacer es respaldar tu data de Mysql lo unico que debes hacer es respaldar esos archivos, o en todo caso mysql crea una carpeta por cada base de datos que se llama justamente como la base de datos por ejemplo: dtbejemplo, solo copia esa carpeta y eso es todo no pierdes datos, eso si esta forma de respaldo solo se recomienda si no se están haciendo transacciones de información en la base de datos

Desconectado spawnri

  • Sv Member
  • ***
  • Mensajes: 352
Re: MySQL 5 y Bases de Datos
« Respuesta #13 : noviembre 15, 2006, 09:54:42 am »
ok. Gracias a todos  :drinks:
"Todos los días la gente se arregla el cabello, ¿por qué no el corazón?."


Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: MySQL 5 y Bases de Datos
« Respuesta #14 : noviembre 15, 2006, 09:59:08 am »
No viejo no te compliques la vida, te explico como esta el asunto

MySql trabaja con tres tipos de archivos como ya te explicaron: (*.frm, *.MYD, y *.MYI)

si lo que quieres hacer es respaldar tu data de Mysql lo unico que debes hacer es respaldar esos archivos, o en todo caso mysql crea una carpeta por cada base de datos que se llama justamente como la base de datos por ejemplo: dtbejemplo, solo copia esa carpeta y eso es todo no pierdes datos, eso si esta forma de respaldo solo se recomienda si no se están haciendo transacciones de información en la base de datos

Noel... lastimosamente no se recomienda.... El problema es sobre todo con los motores... imaginate que de la versión 5.0.1 a la versión 5.0.2 hubo un pequeño cambio en el motor InnoDB que hace que el formato de los frm cambie un poquito nada mas. El problema va a ser que a la hora de que mysql trate de cargar los datos se va a encontrar con un formato binario diferente, aunque la diferencia sea bastante leve corres siempre el riesgo de perder datos.

Si las versiones de MySQL son las mismas no hay problema, podes copiar los archivos para hacer backup, pero si son diferentes, lo más recomendable es usar el mysqldump.