2010-01-15 7 views
1

J'ai un tableau des produits avec la structure suivanteproblème en utilisant MySQL INFILE

 
CREATE TABLE IF NOT EXISTS `products` (

    `id` int(50) NOT NULL AUTO_INCREMENT, 
    `productname` varchar(255) NOT NULL, 
    `description` text NOT NULL, 
    `merchanturl` text NOT NULL, 
    `imageurl` text NOT NULL, 
    `price` varchar(10) NOT NULL, 
    `original` varchar(10) NOT NULL, 
    `currency` varchar(12) NOT NULL, 
    `extrafields` text NOT NULL, 
    `feedid` varchar(25) NOT NULL, 
    `category` varchar(255) NOT NULL, 
    `merchant` varchar(255) NOT NULL, 
    PRIMARY KEY (`id`), 
    FULLTEXT KEY `productname` (`productname`), 
    FULLTEXT KEY `description` (`description`) 
) ENGINE=MyISAM; 

J'utilise la commande mysql CHARGE INFILE pour importer des fichiers de données dans ce tableau délimités. il a 4 millions d'enregistrements maintenant. quand j'importer des données en utilisant plus INFILE je suis l'erreur suivante

erreur 2002 (HY000): Impossible de se connecter au serveur MySQL local par socket « /var/run/mysqld/mysqld.sock » (2)

Je ne suis pas en mesure d'accéder à la table des produits après cela.Comment puis-je améliorer les performances de la table. certains fichiers de données ont une taille supérieure à 100 Mo. J'ai encore 4 millions d'entrées à importer dans la table.

S'il vous plaît suggérer des méthodes pour éviter ces problèmes

Merci, Sree

+0

Etes-vous capable de vous connecter au serveur mysql ou obtenez-vous l'erreur 2002 au milieu du chargement du fichier? – Yada

+0

parfois il se passe au milieu du fichier de chargement. Après cela, je ne suis pas en mesure d'exécuter des requêtes sur cette table. J'ai utiliser myisamchk pour réparer la table pour y accéder –

Répondre

0

Essayer se connecter au serveur MySQL en utilisant TCP/IP au lieu de socket. Socket est uniquement disponible pour unix système d'exploitation.

+0

c'est un serveur Linux et j'utilise la requête LOAD INFILE du script shell –

Questions connexes