Traiter très gros fichier SQL avec PHP

Résolu/Fermé
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 - 15 nov. 2011 à 20:54
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 - 17 nov. 2011 à 15:25
Bonjour,
J'ai un fichier SQL sur mon serveur FTP contenant plusieurs centaines de milliers de requêtes. Ce sont les mises à jour de ma base données que je dois exécuter régulièrement. Je souhaite automatiser cette mise à jour.
Impossible de gérer requête par requête avec PHP (beaucoup trop long). Je pense à deux possibilités:

1. Soit je gère les requêtes par petits paquets. Mais dans ce cas, je ne sais pas comment recharger mon script PHP pour éviter l'arrêt de l'exécution au bout de 30 secondes. Avez-vous une idée ?

2. Soit, ce serait encore plus simple mais je ne sais pas si c'est possible, j'envoie via PHP une commande à la base SQL pour lui demander d'exécuter tous le fichier (plusieurs giga). Est-ce possible ? Si oui comment ?

Merci d'avance pour votre aide
A voir également:

6 réponses

Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
15 nov. 2011 à 21:11
Salut,
Je sais pas sur quoi tu héberges ton système, mais si c'est sur dédié tu peux te faire un sh et l'exécuter à partir de php
0
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
15 nov. 2011 à 21:58
Merci,
Mais je suis sur un serveur mutualisé
0
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
15 nov. 2011 à 22:17
En creusant un peu je vois qu'on peut envoyer une commande au serveur pour qu'il exécute un fichier SQL.
/usr/bin/mysql -u nom_utilisateur -p nom_base < nom_sauvegarde.sql

Est-ce possible d'exécuter une telle commande depuis un script PHP ?
0
Anoen Messages postés 196 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 11 septembre 2013 25
15 nov. 2011 à 22:32
Oui c'est à ça que je pensais, c'est possible de lancer l'exécution d'un fichier via php avec la fonction exec() mais la commande directement ça m'étonnerait.

Les mutualisés sont assez restrictifs là dessus, ça m'étonnerait qu'ils l'autorisent directement mais ton hébergeur doit sûrement avoir un outil pour ça.
Essayes de te renseigner auprès de leur support ils te donneront les solutions possibles pour ton cas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
15 nov. 2011 à 23:15
Merci
Je vais voir cela
0
jemsss Messages postés 188 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 28 novembre 2019 17
17 nov. 2011 à 15:25
C'était pour un site chez infomaniak.
Je viens de voir qu'il propose un service de faire une importation automatique de dump MySQL. ça marche très bien.

https://www.infomaniak.com/fr/support/faq/185/mysql-importer-une-grosse-base-de-donnees-ancienne-formule-dhebergement

Merci..
0