Comment utiliser MySQL source de commande pour importer des fichiers volumineux dans windows
J'ai une grande (~150 mo) fichier sql que je suis en train d'importer. Il est trop grand pour le faire via PHPMyAdmin même de le diviser en plusieurs morceaux et il est trop grand pour importer par le biais d'un script php comme il s'éteint après 30 secondes de traitement du script. Je suis donc à la recherche de comment importer directement le fichier à partir de la ligne de commande de MySQL.
La recherche en ligne montre que je veux utiliser database_name < file_name.sql
ou source file_name.sql
mais je ne peux pas obtenir un de ces au travail.
À l'aide de <
donne le générique MySQL erreur de syntaxe lors de l'utilisation source
un peu plus prometteurs failed to open file 'file_name.sql', error: 2
donc je suis enclin à penser que la source de commande est sur la bonne voie.
Je suis sous windows et j'utilise xampp comme un serveur localhost (remarque je suis le seul à essayer d'importer ce fichier sur l'hôte local afin que je puisse exécuter le sql). J'ai essayé de placer le fichier dans xampp\mysql\bin
et xampp\mysql\data\database_name
.
Toutes les suggestions de comment les importer .fichier sql dans MySQL soit à partir de la ligne de commande de MySQL ou par tout autre moyen serait grandement apprécié.
- Je ne suis pas sûr si vous tentez d'utiliser
database_name
littéralement ou non. La commande doit êtremysql -u youruser -h yourhost -p database_name < file_name.sql
où un exemple serait:mysql -u henry -h localhost -p mydb < file_name.sql
- Je ne suis pas en utilisant
database_name
littéralement. C'est juste une place de titulaire pour le nom réel de la base de données que je suis désireux de l'importation. J'ai essayé d'utiliser les commandes de la console mysql plutôt que cmd parce que j'ai des erreurs relatives àmysql
de ne pas être reconnu de commande ou<
être réservé pour un usage futur, lorsque j'essaie d'exécuter cmd.
Vous devez vous connecter pour publier un commentaire.
Avec xampp, je pense que vous devez utiliser le chemin d'accès complet à la ligne de commande, quelque chose comme ça, peut-être:
Sur Windows, cela devrait fonctionner (note de l'forwardslash et que tout le chemin n'est pas cité et que les espaces sont autorisés)
USE yourdb;
SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;
/
et en arrière `\` slash a très bien fonctionné pour moi aussi. Pas de guillemets simples, pas de guillemets doubles. Merci.Ne pas utiliser
"source"
, il est conçu pour exécuter un petit nombre desql queries
et afficher la sortie, de ne pas importer de grandes bases de données.- Je utiliser
Wamp Developer
(pasXAMPP
), mais il devrait être le même.Ce que vous voulez faire est d'utiliser la
MySQL Client
pour faire le travail pour vous.MySQL
est en cours d'exécution.phpMyAdmin
ou laMySQL shell
.cmd.exe
, et de changer le répertoire de votresql
fichier estsitué dans.
mysql -u root -p database_name_here < dump_file_name_here.sql
database name
etdump file name
.MySQL root account password
lorsque vous y êtes invité (si pas de jeu de mot de passe, retirez le "-p" switch).Cela suppose que
mysql.exe
peut être situé via le chemin d'accès de l'environnement, et quesql
fichier se trouve dans le répertoire que vous exécutez cette de. Sinon, utiliser les chemins d'accès complets.L'Option 1. vous pouvez le faire en utilisant un seul cmd où D est mon xampp ou wampp dossier d'installation donc j'utilise ce où mysql.exe installer et deuxième option nom de base de données et le dernier est fichier sql afin de le remplacer en tant que votre puis exécutez ce
L'Option 1 pour wampp
changer votre dossier et mysql version
Option 2 Supposons que votre chemin d'accès actuel est en invite de commande
puis changer de répertoire à l'aide de
cd..
puis goto votre mysql répertoire où votre xampp est installé. Puis
cd..
pour changer de répertoire. ensuite, allez à dossier bin.C:\xampp\mysql\bin\mysql -u {username} -p {database password}
.alors s'il vous plaît entrez quand vous voyez entrer le mot de passe à l'invite de commande.sélectionnez la base de données à l'aide de
puis mettez-les dans source sql dans le dossier bin.
puis la dernière commande sera
puis appuyez sur entrée
C'est plein de commande
Qui a fonctionné pour moi à l'importation de 400 mo fichier dans ma base de données.
C:\wamp64\bin\mysql\mysql5.7.14\bin>mysql -u root -p < C:\Users\rico\Desktop\sakila-db\sakila-schema.sql
Sur mon Xampp set-up, j'ai pu utiliser ce qui suit pour importer une base de données dans MySQL:
Mon expérience personnelle sur ma machine locale a été comme suit:
Pseudo: Racine
Nom de Base de données: testdatabase
SQL Emplacement du Fichier: databasebackup.sql est situé sur mon bureau
Qui a fonctionné pour moi pour importer mes 1GO+ fichier dans ma base de données.
Nom d'utilisateur root sans mot de passe
J'ai rencontré le problème sur mon ordinateur hôte local que je n'ai pas de mot de passe pour l'utilisateur root. Vous pouvez l'utiliser sans -p mot de passe comme ci-dessus. S'il demande un mot de passe, appuyez simplement sur entrée.
utiliser mysql
source
de commande pour éviter la redirection des échecs, en particulier sur windows.où e pour "Exécuter la commande"
Sur Windows, n'oubliez pas d'utiliser la double devis pour une commande sql.
Cependant, une barre oblique inverse \ ou la barre oblique /fonctionne sur Windows.
Pour l'importation d'un gros fichier SQL à l'aide de la ligne de commande MySQL.
D'abord aller dans fichier chemin d'accès à la ligne de commande.
Ensuite,
Option 1:
C'est de donner un avertissement mesaage : à l'Aide d'un mot de passe sur l'interface de ligne de commande peut être précaire.
Fait.Votre fichier sera importé.
Option 2:
en cela, vous n'êtes pas fournir de mot de passe sql puis ils ont demandé le mot de passe il suffit d'entrer le mot de passe et votre fichier sera importé.
Sur windows:
Utilisez l'explorateur pour naviguer vers le dossier avec la .fichier sql.
Tapez cmd dans le haut de la barre d'adresse. Cmd s'ouvre.
Type:
Attendre un peu et le fichier sql aura été exécutée sur votre base de données.
Confirmée à travailler avec MariaDB en février 2018.