O

oOoAlucardoOo

Usuario (Venezuela)

Primer post: 15 abr 2010Último post: 15 abr 2010
1
Posts
0
Puntos totales
0
Comentarios
E
Engines MyISAM, InnoDB y BDB
InfoporAnónimo4/15/2010

Una colección de 15 consejos tutorial sobre motores de almacenamiento MySQL. explicaciones claras y ejercicios tutorial se proporcionan en la creación de tablas con MyISAM, InnoDB, BDB y los motores de almacenamiento; control de los datos de archivos de distintos motores de almacenamiento, utilizando el motor de la MEMORIA de almacenamiento para las tablas temporales. Los temas incluidos en esta colección: 1. ¿Qué son los Motores de almacenamiento? 2. Cómo crear una nueva tabla utilizando el motor de almacenamiento MyISAM? 3. Cuando la tabla de datos está almacenada por el motor de almacenamiento MyISAM? 4. Cómo Tablas de copia de seguridad de copia de archivos de tablas MyISAM? 5. Cómo restaurar Tablas por la copia de archivos de tablas MyISAM? 6. Cómo comprobar y reparar tablas MyISAM? 7. Cómo crear una tabla nueva con el motor de almacenamiento InnoDB? 8. Cuando la tabla de datos está almacenada por el motor de almacenamiento InnoDB? 9. Cómo crear una tabla nueva con el motor de almacenamiento BDB? 10. Cómo Inicie mysqld de Apoyo al motor de almacenamiento BDB? 11. Cuando la tabla de datos está almacenada por el motor de almacenamiento BDB? 12. Cómo crear una tabla nueva con el motor de almacenamiento CSV? 13. Cómo crear una tabla nueva con el motor de almacenamiento de memoria? 14. ¿Qué pasa con las tablas MEMORY cuando el servidor MySQL se detiene? 15. Cómo ver qué motores de almacenamiento son compatibles en su servidor MySQL? Tenga en cuenta que todas las respuestas y tutoriales se basan en MySQL 5.0. A veces usted puede tener que ejecutar tutoriales anteriores para seguir adelante un tutorial. ¿Qué son los Motores de almacenamiento? motores de almacenamiento son los programas que se integran en el sistema de gestión de bases de datos MySQL para gestionar las tablas de datos. MySQL 5.0 soporta los siguientes motores principales de almacenamiento: * Motor de almacenamiento MyISAM - por defecto de MySQL motor de almacenamiento. Basado en el concepto de base de datos ISAM. MyISAM no lo está transacción segura. * Motor de almacenamiento InnoDB - Una operación de motores de almacenamiento seguro desarrollado por Innobase Oy (una compañía Oracle). * BDB (BerkeleyDB) motor de almacenamiento - Una operación de motores de almacenamiento seguro originalmente desarrollado por la UC Berkeley. Sleepycat Software, Inc. fue creada en 1996 para continuar con el desarrollo BDB. Sleepycat es una compañía Oracle ahora. * Motor de almacenamiento CSV - Un motor de almacenamiento sencilla el almacenamiento de datos como archivos de texto usando formato de valores separados por comas. * MEMORY (HEAP) motor de almacenamiento de motor de almacenamiento - Un motor de almacenamiento de datos en el almacenamiento de la memoria del ordenador principal. Cómo crear una nueva tabla utilizando el motor de almacenamiento MyISAM? motor de almacenamiento MyISAM se basa en el ISAM (Método de acceso secuencial indizado) concepto, que se desarrolló primero en IBM para almacenar y recuperar datos en sistemas de almacenamiento secundario como cintas. Motor de almacenamiento MyISAM ofrece almacenamiento de datos rápida y recuperación. Pero no se trata de transacciones seguras. MyISAM es el motor por defecto. Todas las tablas se crearán con el motor de almacenamiento MyISAM, si no se especifica ningún nombre de motor de almacenamiento. Pero si desea crear una nueva tabla con motor de almacenamiento MyISAM explícitamente, puede especificar "ENGINE = MyISAM" como el final de la "CREATE TABLE" declaración. El ejercicio tutorial de abajo te muestra un buen ejemplo: > Cd \ mysql \ bin > Dev mysql-u-piyf mysql> USE fyi; mysql> CREATE TABLE fyi_isam ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) ENGINE = MyISAM; Query OK, 0 filas afectadas (0,08 seg) Mysql> SHOW CREATE TABLE fyi_isam; CREATE TABLE `fyi_isam» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) Cuando la tabla de datos está almacenada por el motor de almacenamiento MyISAM? Por defecto, MySQL proporciona directorio \ mysql \ data para todos los motores de almacenamiento para guardar datos de la tabla. Bajo \ mysql \ directorio de datos, cada base de datos tendrá su propio subdirectorio para almacenar datos de la tabla. Si una nueva tabla se crea con el motor de almacenamiento MyISAM, varios archivos se creará. Por ejemplo, la nueva tabla "fyi_isam" creado en el ejercicio anterior tutorial tendrá como resultado los siguientes archivos: > Cd \ mysql \ data \ fyi dir> 8.620 fyi_isam.frm 0 fyi_isam.MYD 1.024 fyi_isam.MYI ... Estos archivos son: * Fyi_isam.frm - Creado por MySQL para almacenar "fyi_isam" formato de tabla. * Fyi_isam.myd - Creado por MyISAM para almacenar "fyi_isam" datos de la tabla. "Myd" significa "MyData". Los datos de tamaño de archivo es 0, porque no hay una fila de datos almacenados en la tabla todavía. * Fyi_isam.myi - Creado por MyISAM para almacenar "fyi_isam" índice de la tabla. "Myi" significa "MyIndex". La columna de clave principal "id" tiene un índice por defecto. Cómo Tablas de copia de seguridad de copia de archivos de tablas MyISAM? Para manera más sencilla de copia de seguridad de tablas MyISAM es copiar los ficheros de datos en un directorio de copia de seguridad. Pero esta no es la forma recomendada de hacer copias de seguridad. Leer la copia de seguridad colecciones FAQ para más información. El ejercicio siguiente tutorial le muestra cómo agregar un nuevo índice de "fyi_isam la tabla, agregar dos filas, y la copia" fyi_isam "tabla de archivos en un directorio de copia de seguridad: > \ Mysql \ bin \ mysql-u piyf dev-fyi mysql> CREATE fyi_isam_count ÍNDICE DE fyi_isam (cuenta); Query OK, 1 fila afectada (0,11 seg) Registros: 1 Duplicados: 0 Warnings: 0 mysql> INSERT INTO fyi_isam (id) VALUES (-1); Query OK, 1 fila afectada (0,05 seg) mysql> INSERT INTO fyi_isam (id, cuenta) VALUES (-2, 987); Query OK, 1 fila afectada (0,03 seg) > Mysqk dejar de fumar > Mkdir \ mysql \ copia de seguridad > Mkdir \ \ mysql fyi \ copia de seguridad > Copia \ mysql \ data \ fyi my_isam \ .* \ \ mysql fyi copia de seguridad \ \ Datos de programa \ mysql \ fyi \ fyi_isam.frm \ Data \ mysql \ fyi \ fyi_isam.MYD \ Data \ mysql \ fyi \ fyi_isam.MYI 3 Archivo (s) copiado. > Dir \ \ mysql fyi \ copia de seguridad 8.620 fyi_isam.frm 40 fyi_isam.MYD 3.072 fyi_isam.MYI Si usted tiene una tabla MyISAM corrupta, como el resultado del ejercicio tutorial anterior, puede utilizar el "CHECK TABLE" y "REPARACIÓN DE LA MESA" comandos para tratar de repararlo. El ejercicio siguiente tutorial te da un buen ejemplo de la reparación de una tabla MyISAM corrupta. Por suerte, el cuadro se repara con éxito: > \ Mysql \ bin \ mysql-u piyf dev-fyi mysql> CHECK TABLE fyi_isam; +--------------+-------+----------+--------------- ---------- | Cuadro | Op. | Msg_type | Msg_text +--------------+-------+----------+--------------- ---------- | Fyi.fyi_isam | comprobar | error | Registro en pos: 0 no es eliminar el marcado | Fyi.fyi_isam | comprobar | error | eliminar registro de enlace de la cadena dañado | Fyi.fyi_isam | comprobar | error | corruptos +--------------+-------+----------+--------------- ---------- 3 filas en el conjunto (0,01 segundos) fyi_isam mysql REPARACION DE UN CUADRO>; +--------------+--------+----------+-------------- ---------- | Cuadro | Op. | Msg_type | Msg_text +--------------+--------+----------+-------------- ---------- | | Fyi.fyi_isam reparación | advertencia | Número de registros cambiados 1 a 2 | Fyi.fyi_isam reparación | | Situación | OK +--------------+--------+----------+-------------- ---------- 2 filas en el conjunto (0,47 segundos) Mysql> SELECT * FROM fyi_isam; +----+-------+-------+ | ID | | título conteo | +----+-------+-------+ | -1 | NULL | NULL | | -2 | NULL | 987 | +----+-------+-------+ 2 filas en el conjunto (0,00 segundos) Cómo crear una tabla nueva con el motor de almacenamiento InnoDB? InnoDB fue desarrollado por Innobase Oy, que es una empresa de Oracle ahora. InnoDB es una transacción segura y ha sido utilizada por un número de sitios web grandes, como Slashdot.org. InnoDB no es el motor de almacenamiento por defecto. Debe especificar "ENGINE = InnoDB" al final de la "CREATE TABLE" declaración a crear nuevas tablas con el motor de almacenamiento InnoDB. El ejercicio tutorial de abajo te muestra un buen ejemplo: > Cd \ mysql \ bin > Mysql-u piyf dev-fyi mysql> CREATE TABLE fyi_inno ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) ENGINE = InnoDB; Query OK, 0 filas afectadas (0,17 seg) Mysql> SHOW CREATE TABLE fyi_inno; CREATE TABLE `fyi_inno» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) mysql> INSERT INTO fyi_inno (id) VALUES (-1); Query OK, 1 fila afectada (0,05 seg) Cuando la tabla de datos está almacenada por el motor de almacenamiento InnoDB? Por defecto, MySQL proporciona directorio \ mysql \ data para todos los motores de almacenamiento para guardar datos de la tabla. Bajo \ mysql \ directorio de datos, InnoDB creará 3 ficheros para almacenar y gestionar todas las tablas que utilizan el motor de almacenamiento InnoDB: * Ibdata1 - Contiene datos de todas las tablas InnoDB. "Ibdata1" comienza con 10 MB, pero se extenderá, si es necesario. * Ib_logfile0 - Archivo de registro 1 con 5 MB. * Ib_logfile1 - Archivo de registro 2 con 5 MB. Si una nueva tabla se crea con el motor de almacenamiento InnoDB, un formato de archivo nombrado como tableName.frm \ databaseName será creado. Cuadro de datos y de los índices se almacenan en "ibdata1". Por ejemplo, la nueva tabla "fyi_inno" creado en el ejercicio anterior tutorial tendrá como resultado los siguientes archivos: > Cd \ mysql \ data > Dir fyi \ fyi_inno .* 8.620 fyi_inno.frm dir> 10.485.760 ibdata1 5.242.880 ib_logfile0 5.242.880 ib_logfile1 Cómo crear una tabla nueva con el motor de almacenamiento BDB? BDB (BerkeleyDB) motor de almacenamiento fue desarrollado originalmente en la UC Berkeley. Ahora es mantenido por Sleepycat Software, Inc., que es una empresa de Oracle ahora. BDB es transacción segura, y se ha utilizado en los productos de muchas compañías, como Cisco Systems. BDB no es el motor de almacenamiento por defecto. Debe especificar "ENGINE = BDB" al final de la "CREATE TABLE" declaración a crear nuevas tablas con el motor de almacenamiento BDB. El ejercicio tutorial de abajo te muestra un buen ejemplo: > Cd \ mysql \ bin > Mysql-u piyf dev-fyi mysql> CREATE TABLE fyi_bdb ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) ENGINE = BDB; Query OK, 0 filas afectadas, 1 de alerta (0,07 seg) Mysql> SHOW CREATE TABLE fyi_bdb; CREATE TABLE `fyi_bdb» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) mysql gota> fyi_bdb mesa; Query OK, 0 filas afectadas (0,00 seg) El "SHOW CREATE TABLE" informes de comando que el cuadro "fyi_bdb" fue creado realmente con el motor de almacenamiento MyISAM. Esto se debe a que el motor de almacenamiento BDB no está incluido en el valor por defecto "mysqld" configuración. Cómo Inicie mysqld de Apoyo al motor de almacenamiento BDB? El valor por defecto "mysqld" programa no es compatible con el motor de almacenamiento BDB. Si desea utilizar el motor de almacenamiento BDB, puede iniciar el servidor MySQL con el "mysqld-max" del programa. El ejercicio tutorial de abajo le muestra cómo poner en marcha "mysqld-max" y crear una tabla con el motor de almacenamiento BDB: > \ Mysql \ bin \ mysqladmin-u root-pretneciyf apagado > \ Mysql \ bin mysqld \-max > \ Mysql \ bin \ mysql-u piyf dev-fyi mysql> CREATE TABLE fyi_bdb ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) ENGINE = BDB; Query OK, 0 filas afectadas, 1 de alerta (0,07 seg) Mysql> SHOW CREATE TABLE fyi_bdb; CREATE TABLE `fyi_bdb» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = BerkeleyDB DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) mysql> INSERT INTO fyi_bdb (id) VALUES (-1); Query OK, 1 fila afectada (0,05 seg) Cuando la tabla de datos está almacenada por el motor de almacenamiento BDB? Por defecto, MySQL proporciona directorio \ mysql \ data para todos los motores de almacenamiento para guardar datos de la tabla. Bajo \ mysql \ directorio de datos, el motor de almacenamiento BDB creará un archivo por cada tabla para almacenar datos de la tabla y los datos de índice. Si una nueva tabla se crea con el motor de almacenamiento BDB, un formato de archivo nombrado como tableName.frm \ databaseName será creado. Otro fichero llamado tableName.db \ databaseName para almacenar datos de la tabla y los datos de índice. Por ejemplo, la nueva tabla "fyi_bdb" creado en el ejercicio anterior tutorial tendrá como resultado los siguientes archivos: > Cd \ mysql \ data > Dir fyi \ fyi_bdb .* 49.152 fyi_bdb.db 8.620 fyi_bdb.frm Cómo crear una tabla nueva con el motor de almacenamiento CSV? CSV (valores separados por comas) de almacenamiento de las tiendas de motor de datos de la tabla en archivos de texto en formato de valores separados por comas. CSV no es el motor de almacenamiento por defecto. Debe especificar "ENGINE = CSV" al final de la "CREATE TABLE" declaración a crear nuevas tablas con el motor de almacenamiento CSV. El ejercicio tutorial de abajo te muestra un buen ejemplo: > Cd \ mysql \ bin > Mysql-u piyf dev-fyi mysql> CREATE TABLE fyi_csv ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) MOTOR = CSV; Query OK, 0 filas afectadas, 1 de alerta (0,07 seg) Mysql> SHOW CREATE TABLE fyi_csv; CREATE TABLE `fyi_csv» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) Al parecer, el motor de almacenamiento CSV no es compatible con "mysqld-max" versión del servidor MySQL. Es necesario volver a compilar el servidor MySQL desde el código fuente con el "- with-csv-storage-engine" opción. Cómo crear una tabla nueva con el motor de almacenamiento de memoria? MEMORIA tiendas de almacenamiento del motor tabla de datos en la memoria del sistema informático. Esto es bueno para la creación de tablas temporales. La memoria no es el motor por defecto. Es necesario especificar el "MOTOR DE MEMORIA =" al final de la "CREATE TABLE" declaración a crear nuevas tablas con el motor de almacenamiento MEMORY. El ejercicio tutorial de abajo te muestra un buen ejemplo: > Cd \ mysql \ bin > Mysql-u piyf dev-fyi mysql> CREATE TABLE fyi_memory ( ID de la clave INTEGER PRIMARY, título VARCHAR (80), recuento de número entero) MOTOR = MEMORIA; Query OK, 0 filas afectadas, 1 de alerta (0,07 seg) Mysql> SHOW CREATE TABLE fyi_memory; CREATE TABLE `fyi_memory» ( `Id` int (11) NOT NULL, `Titulo` varchar (80) default NULL, `Cantidad` int (11) default NULL, PRIMARY KEY (`id`) ) ENGINE = MEMORIA DEFAULT CHARSET = latin1 1 fila en el conjunto (0,02 segundos) ¿Qué pasa con las tablas MEMORY cuando el servidor MySQL se detiene? Si usted tiene filas de datos almacenados en una tabla con el motor de almacenamiento MEMORY y el servidor MySQL se ha apagado por el DBA, todas las filas de datos serán eliminados. Pero la estructura de la tabla permanecerá en el servidor. El ejercicio tutorial de abajo te muestra un buen ejemplo de la utilización de las tablas MEMORY: > Cd \ mysql \ bin \ mysql-u fyi piyf dev- mysql> INSERT INTO fyi_memory (id) VALUES (-1); Query OK, 1 fila afectada (0,00 seg) mysql> INSERT INTO fyi_memory (id, cuenta) VALUES (-2, 987); Query OK, 1 fila afectada (0,01 seg) Mysql> SELECT * FROM fyi_memory; +----+-------+-------+ | ID | | título conteo | +----+-------+-------+ | -1 | NULL | NULL | | -2 | NULL | 987 | +----+-------+-------+ 2 filas en el conjunto (0,00 segundos) mysql dejar de fumar>; > \ Mysql \ bin \ mysqladmin-u root-pretneciyf apagado > \ Mysql \ bin mysqld \-max > \ Mysql \ bin \ mysql-u piyf dev-fyi Mysql> SELECT * FROM fyi_memory; Empty set (0.00 sec) Si usted desea saber exactamente qué motores de almacenamiento son compatibles con el servidor MySQL, puede ejecutar la opción "Mostrar MOTORES" comando como se muestra en el ejemplo siguiente tutorial: mysql> SHOW ENGINES; +------------+---------+-------------------------- --------- | Motor | Soporte | Comentario +------------+---------+-------------------------- --------- | MyISAM | DEFAULT | motor por defecto en MySQL 3,23 con un gran rendimiento | MEMORIA | SÍ | Hash base, almacenada en la memoria, útil para las tablas temporales | InnoDB | SÍ | Apoya las transacciones, a nivel de fila de bloqueo, y extranjeros claves | BerkeleyDB | SÍ | Apoya las transacciones y la página- nivel de bloqueo | BlackHole | | SÍ / dev / null motor de almacenamiento (cualquier cosa se escribe en él desaparece) | EJEMPLO | SÍ | Ejemplos de motor de almacenamiento | Archivo | SÍ | Archivo motor de almacenamiento | CSV | NO motor | CSV de almacenamiento ndbcluster | | NO en clúster |, tolerante a fallos, la memoria- tablas basadas | FEDERATED | SÍ | Federados MySQL motor de almacenamiento | MRG_MyISAM | SÍ | Colección de MyISAM idénticas tablas | ISAM | NO motor | obsoletos de almacenamiento ------------ --------- ----------------------------- ------ 12 filas en el conjunto (0,00 segundos) DBA.FYIcenter.com Information Center for DBA... NOTA:Como ven yo lo traduci pero en la fuente saldra ingles Fuente

0
0
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.