8768 sujets

Développement web côté serveur, CMS

Bonjour,

Lors de l’import d’une base de données phpMyAdmin signale que la taille maximale de la base doit être de 2 048 000 octets. La base de données que je veux importer fait 17 000 000 octets.

Il s’écrit sur internet que cette limitation peut être levée en changeant la valeur de la variable : post_max_size dans php.ini. Curieusement cette variable est initialement fixée à 8M !!!

J’ai donc recherché dans ce php.ini la valeur 2048 et j’ai trouvé

; Default size of the mysqlnd memory pool, which is used by result sets.
; http://php.net/mysqlnd.mempool_default_size
;mysqlnd.mempool_default_size = 16000
; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
; http://php.net/mysqlnd.net_cmd_buffer_size
;mysqlnd.net_cmd_buffer_size = 2048

Donc une variable qui n’a rien à voir avec une taille de base de données.

J’ai bien tenté de modifier la valeur de post_max_size, mais la taille maximale de la base ne se modifie pas dans phpMyAdmin, j’ai donc lors de l’import un message d’erreur.

Je suis en train de perdre mon latin, pouvez m’apporter une aide, merci par avance.

Patrick Mara
Modérateur
Et l'eau,

Il faut que tu regardes dans le php.ini (celui qui est rattaché à apache et non celui du cgi.

Tu es dans quel environnement ? Apple ? Windows ? Linux ? BSD ?

De toute manière, va falloire que tu édites ton php.ini et que tu changes la valeur de "upload_max_filesize". La valeur doit être exprimée en Mio. Ce qui donne chez toi :
upload_max_filesize=2M

Une fois que tu as changé la valeur, ne pas oublié de recharger Apache. Sans ça,, ta nouvelle valeur ne sera pas prise en compte.

Aussi, cette manière de faire via phpmyadmin, bof bof. Que c'est long, mais que c'est long....

le mieux :

$mysql -u username -p databasename < filename.sql


Et là pour le coup, on oublie la restriction, le rechargement d'apache, etc. et c'est largement plus rapide
Modifié par niuxe (09 Mar 2021 - 18:27)
Bonjour,

Merci d'avoir prêté attention à mon sujet.
Je démarre dans l'utilisation des bases de données, ce démarrage est relatif à mon adoption de Wordpress pour la réalisation de l'un de mes sites.
J'ai remarqué hier qu'il y avait effectivement une possibilité de manipuler les BD par ligne de commande.
J'ai donc testé un code similaire à celui que vous indiquez mais sans succès, CMD me répond "mysql n'est pas reconnu en tant que commande interne...."
Que dois-je mettre dans mysql?
Mon phpmyadmin est inclus dans le dossier de EasyPHP-Devserver-17 :
EasyPHP-Devserver-17 > eds-modules > phpmyadmin470x210307142752.
J'ai lu que mysql devait inclure son chemin d'accès, oui, mais quel est ce chemin?

Cordialement
Patrick Mara
Bonjour,

J'ai finalement trouvé l'origine de mon problème.
Dans le php.ini, j'ai oublié d'ajuster à une bonne valeur :
upload_max_filesize = 2M > upload_max_filesize = 200M
Je n'avais ajusté que :
php.inipost_max_size = 8M > post_max_size = 200M.

Mon import de base de données fonctionne maintenant correctement.

Merci pour votre aide.
Cordialement
Patrick Mara