J'ai un gros fichier SQL (~ 150 Mo) que j'essaie d'importer. Il est trop volumineux pour le faire via PHPMyAdmin, même en le divisant en plusieurs parties. Il est également trop volumineux pour être importé via un script php, car il expire après 30 secondes de traitement du script. Je cherche donc comment importer directement le fichier à partir de la ligne de commande MySQL.
La recherche en ligne montre que je souhaite utiliser soit database_name < file_name.sql
, soit source file_name.sql
, mais je ne parviens pas à faire fonctionner l’un d’eux.
Utiliser <
donne une erreur de syntaxe MySQL générique, alors que source
donne un failed to open file 'file_name.sql', error: 2
légèrement plus prometteur, je suis donc enclin à penser que la commande source est sur la bonne voie.
Je suis dans Windows et j'utilise xampp en tant que serveur localhost (remarque: je ne fais qu'essayer d'importer ce fichier sur le localhost afin de pouvoir exécuter le fichier SQL). J'ai essayé de placer le fichier dans xampp\mysql\bin
et xampp\mysql\data\database_name
.
Toute suggestion sur la manière d'importer ce fichier .sql dans MySQL à partir de la ligne de commande de MySQL ou par tout autre moyen serait grandement appréciée.
Avec xampp, je pense que vous devez utiliser le chemin complet en ligne de commande, par exemple:
C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
N'utilisez pas "source"
, il est conçu pour exécuter un petit nombre de sql queries
et afficher le résultat, pas pour importer des bases de données volumineuses.
J'utilise Wamp Developer
(pas XAMPP
) mais ça devrait être pareil.
Ce que vous voulez faire, c'est utiliser le MySQL Client
pour faire le travail à votre place.
MySQL
est en cours d'exécution.phpMyAdmin
ou le MySQL Shell
.cmd.exe
et accédez au répertoire dans lequel votre fichier sql
se trouve Situé dans.mysql -u root -p database_name_here < dump_file_name_here.sql
database name
et dump file name
.MySQL root account password
à l'invite (si aucun mot de passe n'est défini, supprimez le commutateur "-p").Cela suppose que mysql.exe
puisse être localisé via le chemin environnemental et que le fichier sql
se trouve dans le répertoire à partir duquel vous exécutez ce processus. Sinon, utilisez des chemins complets.
Sous Windows, cela devrait fonctionner (notez la barre oblique et que le chemin complet n'est pas cité et que les espaces sont autorisés)
USE yourdb;
SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;
Option 1. vous pouvez le faire en utilisant une seule cmd où D est mon dossier d'installation xampp ou wampp, donc j'utilise ceci où mysql.exe installe et le second nom de base de données d'option et le dernier est un fichier sql.
D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql
Option 1 pour wampp
D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql
changer votre répertoire et la version de mysql
Option 2 Supposons que votre chemin actuel est celui qui montre l'invite de commande
C:\Users\shafiq;
puis changez de répertoire en utilisant cd..
puis allez dans votre répertoire mysql où votre xampp est installé. Puis cd..
pour changer de répertoire. puis allez dans le dossier bin.
C:\xampp\mysql\bin;
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
. puis entrez s'il vous plaît quand vous voyez entrer le mot de passe dans la commande Invite.
choisir la base de données en utilisant
mysql->use test (where database name test)
puis mettez dans la source SQL dans le dossier bin.
alors la dernière commande sera
mysql-> source test.sql (where test.sql is file name which need to import)
puis appuyez sur Entrée
C'est la commande complète
C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
mysql-> use test
mysql->source test.sql
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql
Cela a fonctionné pour moi d'importer un fichier de 400 Mo dans ma base de données.
Pour importer un gros fichier SQL en utilisant la ligne de commande de MySQL.
Tout d’abord, accédez au chemin du fichier sur la ligne de commande . Ensuite,
Option 1:
mysql -u {user_name} -p{password} {database_name} < your_file.sql
C'est un message d'avertissement: L'utilisation d'un mot de passe sur l'interface de ligne de commande peut s'avérer peu sûre.
Fait. Votre fichier sera importé.
Option 2:
mysql -u {user_name} -p {database_name} < your_file.sql
en cela, vous ne fournissez pas de mot de passe SQL, ils vous ont alors demandé de saisir un mot de passe et votre fichier sera importé.
Nom d'utilisateur en tant que root sans mot de passe
mysql -h localhost -u root databasename < dump.sql
J'ai fait face au problème sur mon hôte local car je n'ai pas de mot de passe pour l'utilisateur root. Vous pouvez l'utiliser sans le mot de passe -p comme ci-dessus. Si elle demande un mot de passe, appuyez simplement sur Entrée.
Sur ma configuration Xampp, j'ai pu utiliser les éléments suivants pour importer une base de données dans MySQL:
C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]
Mon expérience personnelle sur ma machine locale était la suivante:
Nom d'utilisateur: Racine
Nom de la base de données: base de données test
Emplacement du fichier SQL: databasebackup.sql se trouve sur mon bureau
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql
Cela a fonctionné pour moi pour importer mon fichier de 1 Go + dans ma base de données.
utilisez la commande mysql source
pour éviter les erreurs de redirection, en particulier sous Windows.
mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"
où e pour "Execute command"
Sous Windows, n’oubliez pas d’utiliser les guillemets doubles pour la commande sql.
Toutefois, la barre oblique inverse\ou la barre oblique/fonctionnera sous Windows.
Sous Windows: Utilisez l’Explorateur pour accéder au dossier contenant le fichier .sql Tapez cmd dans la barre d’adresse supérieure. Cmd va s'ouvrir . Type:
"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"
Attendez un peu et le fichier SQL aura été exécuté sur votre base de données . Confirmé de travailler avec MariaDB en février 2018.