1) Separe el archivo de volcado de SQL en dos partes:creación y datos
grep -n "Dumping data" enwiki-latest-redirect.sql
Esto devolverá el número de línea que separa la creación y los datos de las partes de la tabla del archivo. Que sean 46.
tail -n +46 enwiki-latest-redirect.sql > redirect -data.sql
El número que obtenemos en el último comando se usa como entrada para tail
para obtener la parte de datos del archivo.
head -46 enwiki-latest-redirect.sql > redirect-creation.sql
El número que obtenemos en el primer comando se usa como entrada para head
para obtener la parte de creación de la tabla del archivo.
2) Eliminar índices de redirect-creation.sql
El siguiente es el CREATE TABLE
original declaración en el basurero:
CREATE TABLE `redirect` (
`rd_from` int(8) unsigned NOT NULL DEFAULT '0',
`rd_namespace` int(11) NOT NULL DEFAULT '0',
`rd_title` varbinary(255) NOT NULL DEFAULT '',
`rd_interwiki` varbinary(32) DEFAULT NULL,
`rd_fragment` varbinary(255) DEFAULT NULL,
PRIMARY KEY (`rd_from`),
KEY `rd_ns_title` (`rd_namespace`,`rd_title`,`rd_from`)
) ENGINE=InnoDB DEFAULT CHARSET=binary;
La siguiente es la versión deseada después de eliminar los índices:
CREATE TABLE `redirect` (
`rd_from` int(8) unsigned NOT NULL DEFAULT '0',
`rd_namespace` int(11) NOT NULL DEFAULT '0',
`rd_title` varbinary(255) NOT NULL DEFAULT '',
`rd_interwiki` varbinary(32) DEFAULT NULL,
`rd_fragment` varbinary(255) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=binary;
Edite page-creation.sql para eliminar índices como se muestra arriba.
3) Cargar los archivos creados
mysql -u root -p wikipedia < redirect-creation.sql
mysql -u root -p wikipedia < redirect-data.sql
4) Cree índices en los campos que desee después de cargar los datos
create index idx_redirect_rd_from on redirect(rd_from)
Puedo cargar la tabla de enlaces de categoría en menos de una hora en mi Macbook Pro siguiendo los pasos anteriores.