Je veux importer un fichier SQL d'environ 12 Mo. Mais sa cause problème lors du chargement. Est-il possible de le télécharger sans scinder le fichier SQL?
Essayez de l’importer depuis la console mysql selon le goût de votre système d’exploitation.
mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
ou s'il se trouve sur un serveur distant, utilisez l'indicateur -h pour spécifier l'hôte.
mysql -u {DB-USER-NAME} -h {MySQL-SERVER-Host-NAME} -p {DB-NAME} < {db.file.sql path}
Editez le fichier config.inc.php situé dans le répertoire phpmyadmin. Dans mon cas, il se trouve à C:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php
.
Recherchez la ligne avec $cfg['UploadDir']
dessus et mettez-la à jour avec $cfg['UploadDir'] = 'upload';
Ensuite, créez un répertoire appelé «upload» dans le répertoire phpmyadmin (pour moi, à C:\wamp\apps\phpmyadmin3.2.0.1\upload\
).
Placez ensuite le fichier SQL volumineux que vous essayez d'importer dans le nouveau répertoire upload
. Maintenant, lorsque vous accédez à la page d'importation de bases de données dans la console phpmyadmin, vous remarquerez un menu déroulant qui n'existait pas auparavant - il contient tous les fichiers SQL du répertoire de téléchargement que vous venez de créer. Vous pouvez maintenant sélectionner ceci et commencer l'importation.
Si vous n’utilisez pas WAMP sous Windows, je suis sûr que vous pourrez l’adapter à votre environnement sans trop de problèmes.
Référence: http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/
3 choses à faire:
dans php.ini
de votre installation php (note: selon si vous le souhaitez pour CLI, Apache ou nginx, trouvez le bon php.ini à manipuler)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
ou définir d'autres valeurs.
Redémarrez/relancez Apache si vous avez Apache installé ou php-fpm pour nginx si vous utilisez nginx.
Serveur distant?
augmentez également max_execution_time
, car le téléchargement du fichier prendra du temps.
Installation de NGINX?
vous devrez ajouter: client_max_body_size 912M;
dans /etc/nginx/nginx.conf
au bloc http{...}
Solution pour les utilisateurs LINUX (exécutée avec Sudo)
Créez les répertoires "upload" et "save":
mkdir /etc/phpmyadmin/upload
mkdir /etc/phpmyadmin/save
chmod a+w /etc/phpmyadmin/upload
chmod a+w /etc/phpmyadmin/save
Puis éditez le fichier de configuration de phpmyadmin:
gedit /etc/phpmyadmin/config.inc.php
Enfin, ajoutez un chemin absolu pour les répertoires "upload" et "save":
$cfg['UploadDir'] = '/etc/phpmyadmin/upload';
$cfg['SaveDir'] = '/etc/phpmyadmin/save';
Maintenant, déposez simplement les fichiers sur le dossier /etc/phpmyadmin/upload
et vous pourrez ensuite les sélectionner dans phpmyadmin.
J'espère que cette aide.
Juste une ligne et vous avez terminé (assurez-vous que la commande mysql est disponible en tant que commande globale ou allez simplement dans le dossier d’installation de mysql et entrez dans le dossier bin)
mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension
Ici
u
signifie utilisateurp
signifie mot de passeD
signifie base de données--- N'OUBLIEZ PAS D'AJOUTER <
SIGNER APRES LE NOM DE LA BASE DE DONNEES ---
Le chemin complet du fichier avec le nom et l'extension peut être comme
c:\folder_name\"folder name"\sql_file.sql
--- SI LE NOM DE VOTRE DOSSIER ET LE NOM DU FICHIER CONTIENT DE L'ESPACE SUPÉRIEUR À L'AIDE D'UN DOUBLE DEVIS ---
Astuce et Remarque: vous pouvez écrire votre mot de passe après le -p
, mais cela n’est pas recommandé car il sera visible par les autres personnes qui regardent votre écran à ce moment-là. Si vous n’écrivez pas, il vous demandera quand vous exécuterez la commande en appuyant sur entrée. .
J'ai pu importer un gros fichier .sql
en ayant la configuration suivante dans le fichier httpd.conf
:
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</Directory>
Créez un fichier Zip ou tar et téléchargez-le dans phpmyadmin, c'est tout ..!
Vous devrez éditer le fichier php.ini. changez le upload_max_filesize
post_max_size
suivant pour vous adapter à la taille de votre fichier.
Essayer d'exécuter phpinfo()
pour voir sa valeur actuelle. Si vous n'êtes pas libre de changer le fichier php.ini directement, essayez ini_set ()
Si ce n’est pas non plus une option, vous voudrez peut-être essayer bigdump a.
Pour cela, vous devrez éditer le fichier php.ini
. Si vous utilisez le serveur Ubuntu, il s'agit du lien Télécharger un fichier volumineux dans phpMyAdmin pourrait vous aider.
la réponse pour ceux qui ont un hébergement partagé. Il est préférable d'utiliser ce petit script que je viens d'utiliser pour importer un fichier de base de données de 300 Mo sur mon serveur. Le script s'appelle Big Dump.
Je ne comprends pas pourquoi personne ne mentionne le moyen le plus simple .... divisez simplement le gros fichier avec http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/ . et après juste exécuter vie mySQL admin les fichiers générés séparés à partir de celui avec Structure
Ok vous utilisez PHPMyAdmin mais parfois le meilleur moyen est de passer par le terminal:
mysql -h localhost -u root -p
(commutateur racine et localhost pour l'emplacement de l'utilisateur et de la base de données)\. /path/to/your/file.sql
Et c'est tout. Rappelez-vous que si vous êtes sur un serveur distant, vous devez télécharger le fichier .sql dans un dossier.
Le meilleur moyen de télécharger un fichier volumineux consiste à ne pas utiliser phpmyadmin. Parce que phpmyadin télécharge d'abord le fichier à l'aide de la classe de téléchargement php, puis exécute SQL qui cause la plupart du temps le temps mort.
le meilleur moyen est: entrer le dossier wamp> bin> mysql> répertoire bin puis écrire cette ligne
mysql -u root -p nom de liste <latestdb.sql ici nom de liste est le nom de la base de données en premier. Merci de créer la base de données vide et latestdb.sql est votre nom de fichier SQL où vos données sont présentes.
mais une chose importante est si votre fichier de base de données contient des données unicode. vous devez obligatoirement ouvrir votre fichier latestdb.sql et une ligne avant toute ligne. la ligne est:
SET NOMS utf8; alors votre mode de commande exécute ce code de script
Dans MAMP, vous pouvez charger d’énormes fichiers en:
créer un nouveau dossier dans ce répertoire/MAMP/bin/phpMyAdmin/"folderName"
puis éditez la ligne 531 "/MAMP/bin/phpMyAdmin/config.inc.php":
$cfg['UploadDir']= 'folderName';
Copiez vos fichiers .sql ou .csv dans ce dossier.
Maintenant, vous aurez une autre option dans "PhpMyAdmin": Sélectionnez dans le répertoire de téléchargement du serveur Web newFolder /: Vous pouvez sélectionner votre fichier et l’importer.
Vous pouvez charger n'importe quel fichier maintenant !!
Modifiez les paramètres de votre serveur pour autoriser le téléchargement de fichiers de plus de 12 Mo et tout devrait bien se passer . Généralement, les paramètres du serveur sont réglés sur une valeur de 5 à 8 Mo pour le téléchargement de fichiers.
Une solution consiste à utiliser la ligne de commande;
mysql -h yourhostname -u username -p databasename < yoursqlfile.sql
Assurez-vous simplement que le chemin d'accès au fichier SQL à importer est indiqué explicitement.
Dans mon cas, je l'ai utilisé;
mysql -h localhost -u root -p databasename < /home/ejalee/dumps/mysqlfile.sql
Voila! tu es prêt.
Je suis tombé sur un article et cela a fonctionné mieux pour moi
Disque dur »Applications» MAMP »bin» config.inc.php
$cfg[‘UploadDir’]
- elle ressemblera à ceci:$cfg['UploadDir'] = '';
$cfg['UploadDir'] = 'upload';
Ensuite, dans ce répertoire phpmyadmin, créez un nouveau dossier et nommez-le upload.
Prenez ce gros fichier .sql que vous essayez d’importer et placez-le dans ce nouveau dossier de téléchargement.
Désormais, lors de la prochaine importation d’une base de données dans phpMyAdmin, un nouveau menu déroulant apparaîtra juste en dessous de la zone de navigation standard dans la section «Fichier à importer».