GNU/Linux >> Tutoriels Linux >  >> Linux

Importer plusieurs fichiers SQL dans MySQL

Si vous migrez manuellement votre site Web ou si vous avez simplement besoin d'importer certains fichiers SQL dans votre base de données, cet article vous montrera comment importer plusieurs fichiers SQL dans mySQL. Nous utiliserons à la fois une interface graphique et la ligne de commande MySQL.

Pour commencer, il est fortement déconseillé d'importer une base de données sur un site Web en direct. Avant de tenter d'importer un fichier SQL, arrêtez le serveur Web et effectuez une sauvegarde de votre base de données.

Importer une base de données avec phpMyAdmin

Je suppose que votre hébergeur a déjà installé phpMyAdmin sur votre serveur. Si vous utilisez un VPS et que phpMyAdmin n'est pas installé, j'expliquerai en détail comment installer phpMyAdmin sur Linux dans un article séparé.

La plupart des hébergeurs imposent des limites de téléchargement de fichiers sévères et imposent un temps d'exécution maximum. Si la limite de téléchargement de fichiers de votre serveur est très faible (2 Mo) et que vos fichiers de base de données sont à la fois nombreux et volumineux, le processus d'exportation échouera toujours. phpMyAdmin, d'autre part, est suffisamment intelligent pour reprendre l'importation là où elle s'était arrêtée. Ainsi, si vous atteignez la limite d'exécution maximale, rechargez les fichiers et phpMyAdmin reprendra l'importation là où elle s'était arrêtée. Cependant, il est préférable d'augmenter la limite via cPanel ou en modifiant manuellement php.ini.

Augmenter la taille de téléchargement des fichiers PHP sur VPS

Pour augmenter la limite de téléchargement PHP max, ouvrez php.ini et modifiez les lignes suivantes –

; https://php.net/cgi.check-shebang-line
;cgi.check_shebang_line=1

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; https://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; https://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 2M

La taille maximale du fichier de téléchargement est définie sur 2 Mo par défaut. Modifiez-le à la taille de fichier dont vous avez besoin. Faites défiler jusqu'à post_max_size . Augmentez la post_max_size à la taille nécessaire si elle est définie sur 8 Mo par défaut.

Faites défiler vers le bas et recherchez max_execution_time . Le max_execution_time par défaut est défini sur 30 , qui est trop court pour importer des fichiers de base de données volumineux. Dans l'un de mes processus d'importation, j'ai dû définir le max_execution_time à 3600 secondes, soit une heure. Augmentez cette limite en fonction de la taille de l'importation.

Augmenter la taille de téléchargement des fichiers PHP sur cPanel

cPanel est le panneau de contrôle populaire utilisé par la majorité des hébergeurs. cPanel permet de changer facilement le PHP upload_max_filesize , post_max_size , et max_execution_time .

Connectez-vous à votre compte cPanel et suivez les étapes ci-dessous pour modifier les paramètres PHP –

Cliquez sur MultiPHP INI Editor dans le tableau de bord cPanel.

Sélectionnez le nom de domaine où phpMyAdmin est hébergé ou sélectionnez Répertoire personnel pour modifier les paramètres PHP pour tous les domaines. Vous devriez maintenant voir tous les paramètres PHP. Modifier max_execution_time à 3600 (1 heure), memory_limit à 512 Mo, upload_max_filesize et post_max_size à votre valeur préférée.

Après avoir modifié les paramètres, cliquez sur Appliquer. Maintenant, phpMyAdmin est prêt à importer plusieurs fichiers SQL.

Augmenter la taille de téléchargement des fichiers PHP sur DirectAdmin

DirectAdmin est un autre gestionnaire d'hébergement populaire. DirectAdmin fournit également une méthode plus simple pour modifier les paramètres PHP. Dans le tableau de bord, cliquez sur Paramètres PHP .

Cliquez sur le bouton Ajouter et sélectionnez file_uploads, changez sa valeur en On. Ajoutez un autre paramètre, sélectionnez max_execution_time et définissez la valeur sur 1800 ou 3600 (selon la taille de l'importation). Pour les fichiers SQL plus volumineux, cela peut prendre jusqu'à une heure ou même plus. De même, modifiez post_max_size , upload_max_filesize , et max_memory paramètres.

Si vous utilisez un autre panneau d'hébergement Web, je vous recommande d'examiner ses paramètres ou de contacter le support pour modifier les paramètres PHP sur le serveur.

Il est maintenant temps de commencer le processus d'importation de la base de données. Dans le navigateur Web, lancez phpMyAdmin et accédez à Importer. Vous pouvez sélectionner un seul fichier, puis cliquer sur Go. Vous pouvez modifier les paramètres en fonction du fichier SQL importé. Dans la plupart des cas, les paramètres par défaut suffiraient.

Mais il n'importera qu'un seul fichier. Pour importer plusieurs fichiers SQL, créez un .zip de tous les fichiers sql, renommez le zip au format – filename.[format].[zip] . Par exemple, wordpress.sql.zip .

Selon le nombre et la taille des fichiers, le processus d'importation peut prendre un certain temps. Une fois le processus terminé, les données importées seront visibles sous Bases de données .

Importer une base de données à l'aide de la ligne de commande MySQL

Avertissement

Il est fortement conseillé de sauvegarder la base de données existante avant de migrer ou d'ajouter de nouveaux fichiers de données à la base de données existante.

Si vous souhaitez simplifier et accélérer le processus, je vous recommande d'utiliser la ligne de commande mysql pour importer les fichiers de base de données. Cela peut sembler compliqué, mais ce n'est pas le cas. Une fois que vous avez modifié les paramètres PHP, il suffit d'une seule commande pour faire le tour.

Supprimer l'ancienne base de données et importer de nouveaux fichiers SQL

Avertissement

La commande suivante remplacera toutes les données existantes par les nouvelles données. N'utilisez pas cette commande si vous souhaitez importer des données dans une base de données existante, mais lors de la migration d'une ancienne base de données vers un tout nouveau serveur.

Transférez tous les fichiers .sql sur le serveur. SSH dans le serveur, cd dans le répertoire où les fichiers SQL sont stockés et utilisez la commande suivante pour importer tous les fichiers SQL.

sudo cat *.sql | mysql -u root -p database_name

Remplacez database_name par le nom réel de la base de données sur le serveur.

Conserver l'ancienne base de données et importer de nouveaux fichiers SQL

Les nouveaux fichiers SQL seront importés à l'aide de la commande ci-dessous. S'il existe des clés correspondantes dans la base de données, il les ignorera et n'importera que les données qui n'existent pas dans la base de données actuelle.

sudo cat *.sql|sed 's/^INSERT/INSERT IGNORE/'|mysql -u root -p database_name

Conclusion

C'est tout ce qu'on peut en dire. La migration de bases de données est une entreprise à haut risque. Il peut y avoir des pannes de serveur tout au long du processus d'importation ; mais, si vous avez une sauvegarde complète de la base de données, vous êtes en sécurité. Avant de migrer la base de données vers le serveur de production, je recommande de créer un clone ou un serveur intermédiaire et de pratiquer les processus dessus.

Si vous rencontrez des problèmes avec les instructions ci-dessus, faites-le moi savoir dans la section des commentaires sous cet article. Ou rejoignez notre serveur Discord.


Linux
  1. Comment parser PHP dans les fichiers html ?

  2. Importer une base de données MySQL

  3. Comment importer une base de données d'exportation dans MYSQL MariaDB

  4. améliorer la vitesse d'importation mysql

  5. Joindre plusieurs fichiers MP3 (sans perte)

Renommer la commande sous Linux (renommer plusieurs fichiers)

PHP MySQL Sélectionner les données

Linux renommer l'extension de plusieurs fichiers

Comment se connecter à MySQL en utilisant PHP

Les bases de PHP et MySQL :bases de données et tables

Tail plusieurs fichiers distants