web-dev-qa-db-fra.com

L'importation de base de données MySQL dans 5,7 se bloque avec CLI ou avec Workbench 6.3 CE

J'ai un fichier de vidage SQL que j'ai exporté à l'aide de Workbench d'un serveur en cours de déclassement. L'hôte et le système d'exploitation cible est Microsoft Windows Server 2008 R2 (donc X64 Nativement). Il semble n'y avoir aucun moyen d'importer ce fichier de vidage SQL car il sera suspendu quoi qu'il arrive. La taille du fichier est inférieure à 500 Mo. J'ai examiné le schéma de base de données lui-même et que les tables semblent avoir écrasé le DB initialement créé avec le même nom, mais l'importation ne fera rien d'autre que de suspendre. Je ne suis pas un DBA, juste un réseau/sysadmin, donc je suis donc très frustré par l'importation de cette chose à importer. Toute suggestion quiconque?

3
Brian

J'ai rencontré des problèmes similaires importatant un fichier SQL de 1,2 g et il a pris environ 10 heures sur mon ordinateur portable (Core I-5 x64 8g RAM), bien sûr, j'étais multitâche.

Pour découvrir les progrès, je interrogeais toutes les heures en utilisant cette requête

select table_name as "Table", round(((data_length + index_length) / 1024 / 1024), 2) AS "SIZE" from information_schema.TABLES where table_schema = "Name_of_Database_You_Import";

Merci

2
Chetan

Je suppose que le problème réel est que vous ne connaissez pas le pourcentage d'avancement du processus d'importation. C'est pourquoi il semble être suspendu pendant que l'importation progresse à l'arrière-plan.


Les détails suivants ont été copiés à partir de celui-ci How-CAN-I-Monitor-the-Progress-of-AN-Import-of A-GRAND-SQL-Fichier réponse acceptée


Si vous souhaitez simplement importer à partir d'un fichier de vidage de la CLI sur * NIX, par exemple.

mysql -uxxx -pxxx dbname < /sqlfile.sql

ensuite, d'abord installer la visionneuse de tuyaux sur votre système d'exploitation, puis essayez quelque chose comme ceci:

pv sqlfile.sql | mysql -uxxx -pxxxx dbname

qui montrera une barre de progression à mesure que le programme fonctionne.

C'est très utile et vous pouvez également l'utiliser pour obtenir une estimation pour les progrès de MySqldump.

pV décharge le sqlfile.sql et les transmet à MySQL (à cause de l'opérateur de tuyau). Bien que ce soit dumping, cela montre les progrès. La chose cool est que MySQL ne prend que les données uniquement aussi rapides que possible, afin que PV puissent montrer la progression de l'importation. Je n'ai aucune preuve. Mais ça le semble. Je suppose qu'il y a du tampon utilisé, mais à un moment donné, je pense que mysql _ ne lit plus de données quand il s'agit toujours de traitement occupé.

0
The Coder

Chargez-le à l'aide de l'outil de ligne de commande MySQL au lieu de Workbench.

0
Rick James