Frågor och svar

Tillbaka
Sökord:  

Hur får jag lastat in mycket data i MySQL?

Det finns två sätt att lasta in stora mänder data på som rundgår inlastingsbegränsningarna. Båda innebär en låg risk för överbelastning:

1. Bulk insert

MySQL stöder inläggning (insert) av data med flera rader (rows) per insert-kommando. Det kan t.ex. göras så här:

insert into login (brukerid,ipadresse,tid)
values
(124,'192.168.1.9','2006-03-22 10:14:14),
(125,'192.168.12.4','2006-03-22 10:19:21),
(101,'192.168.97.24','2006-04-01 01:01:01);

Programmet mysqldump, som är installerat på vår shell-server, bygger upp sådana bulk insert-optimerade filer.

Se även MySQL-dokumentasjonen for INSERT.

2. Staggered upload

En teknik som kallas "staggered insert/upload" betyder att data lastas in i etapper. Det finns gratis skript på nätet som gör det, ett som används av många är bigdump.php (ozerov.de). Kom ihåg att lösenordsbeskydda tillgången till bigdump.php.

För att undgå överbelastning så måste man göra några ändringar i bigdump.php genom att öppna filen i en texteditor och ändra följande linjer:

$db_server   = 'mittnamn.mysql.domeneshop.no';
$db_name     = 'mittnamn';
$db_username = 'mittnamn';
$db_password = 'mittlösenord';

$filename           = '';
$csv_insert_table   = ''; 
$csv_preempty_table = false; 
$ajax               = true;
$linespersession    = 800; // linjer per session
$delaypersession    = 100000; // millisekunder (1/1000 sek) paus

Byt ut alla förekomster av mittnamn med ditt användarnamn och mittlösenord med ditt databaslösenord. Variablerna $linespersession och $delaypersession har satts för att undgå att importen överstiger begränsningarna för databasen. Själva databas-filen kan antingen (1) lastas upp till samma katalog som bigdump.php eller (2) öppnas genom att starta skriptet i en webläsare. Kom ihåg att Javascript måste vara aktiverat på förhand.

Bigdump.php

Uppmärksamma att det kan ta lång tid, beroende på hur stor filen är. Importen är färdig när meddelandet Congratulations: End of file reached, assuming OK dyker upp längst ner på sidan.

189

Se även:

© 2024 Domeneshop AS · Om oss · Villkor · Dataskydd