mysql database
mysql database

Comment importer une grosse base de données dans Flywheel

J’ai profité de ce week-end pour faire quelques tests avec Local de Flywheel pour mettre à jour certains de mes sites web sous WordPress et vu que j’ai eu un petit problème, je vous propose un petit tuto pour vous aider si vous avez le même souci. Pour travailler en local, j’utilise Local de Flywheel qui me permet d’aller assez vite.

Habituellement, j’utilise l’import de Mysql (ou MariaDB) de Local de Flywheel en cliquant sur Open Adminer pour importer ma base de données. C’est rapide à effectuer. Cependant, ce matin, j’ai eu un message d’erreur sur l’une de mes bdd :

Allowed memory size of xxxx bytes exhausted (tried to allocate xxxx bytes)

Il est impossible d’ajouter ma bdd car elle est trop grosse : 156 Mo (163 755 308 octets)

Il est possible de changer le fichier php.ini ou d’aller plus vite en utilisant directement mysql.

Si vous avez ce problème, la solution est assez simple en passant par la ligne de commande sous windows.

Vous tapez la commande CMD dans la recherche de Windows

Taper la commande CMD dans la recherche de Windows 10

Il faut se rendre à l’endroit où vous avez installé Local de Flywheel. Je l’avais installé dans mon drive D. Dans mon cas, j’ai dû taper :

D:

puis

cd D:\sitedetest\Local\resources\extraResources\lightning-services\mysql-8.0.16+3\bin\win64\bin

Dans ce répertoire, j’ai copié mon fichier de base données que je voulais importer (exemple monficherdebackup.sql)

Ensuite, il faut regarder dans l’interface de Flywheel (onglet DATABASE) sur quel port votre serveur de base de données écoute. Dans mon cas, c’est le port 10023.

Comment importer une grosse base de données dans Flywheel

Je récupère aussi le nom de ma base de données (Database name) qui se nomme local en principe, l’utilisateur (Username) et le mot de passe (Password) qui sont en principe root .Ensuite dans la partie ligne de commande, je tape :

mysql -u root -proot local <monfichierdebackup.sql -P 10023

import large database in mysql windows 10

Cette commande lance mysql, le -u root correspond à mon username, -proot correspond à mon mot de passe, local correspond à mon nom de base de données, <monfichierdebackup.sql signifie que j’importe ma base de données et le -P 10023 c’est le port de serveur.

Bien entendu, ce n’est pas secure d’écrire un mot de passe en clair :). Mais je travaille en local pour faire des tests. Par contre en production, il ne faut pas mettre ce type de mot de passe et il ne faut pas l’écrire en clair.

D’ailleurs Mysql vous indiquera le message suivant :

mysql: [Warning] Using a password on the command line interface can be insecure.

Comment importer une grosse base de données dans Flywheel

Voilà, la base de données est importée. Vous pouvez ensuite travailler avec Adminer ou pour les puristes en lignes de commande 😉

show databases in mysql under windows 10
Plateforme de Gestion des Consentements par Real Cookie Banner