|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Salut tout le monde,
Je réalise avec c# une application de gestion commerciale (Facturation, Stock…) et je souhaite créer une base de données (MySQL). J’ai installé EasyPHP-5.3.9 pour gérer la BDD avec PhpMyAdmin. Voilà mon problème, quand je crée la base de données, elle est enregistrée automatiquement suivant le chemin par défaut «C:\Program Files\EasyPHP-5.3.9\mysql\data» Comment peut-on changer ce chemin, pour enregistrer la BDD dans le répertoire de mon application, genre: «C:\monApplication\maBDD\» ? Comment y procéder ? Y a-t-il un fichier de configuration que je peux modifier ? Merci d’avance pour votre aide |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 16 471 ![]() |
Le chemin "datadir" est défini dans le fichier my.ini doit se trouver dans mysql/bin
|
|
|
00
|
|
|
#3 | |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Salut Vincent,
Citation:
#Path to the database root datadir="D:\ATLAS\Vasser\DataBank" Mais quand j'ouvre PhpMyAdmin, j’obtiens l'erreur suivante : MySQL a répondu: Documentation #2002 - Le serveur ne répond pas (ou l'interface de connexion vers le serveur MySQL local n'est pas correctement configurée) |
|
|
|
00
|
|
|
#4 |
![]() ![]() |
C'est parce que les autres BDD, notamment la BDD mysql sont toujours dans l'autre chemin.
Pourquoi veux-tu déplacer la BDD ? Tu vois que c'est une mauvaise idée !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Salut Philippe,
Citation:
Mais le plus important, c'est que à la fin quand je déploierai l'application, j'aimerais avoir un répertoire pour mon application qui contient aussi la BDD. Il me semble que c'est toujours comme ça quand on installe une application de gestion. Ou je me trompes là?
|
|
|
|
00
|
|
|
#6 |
![]() ![]() |
Si tu n'utilises que le moteur MyISAM, c'est en effet possible de copier le sous-répertoire de la BDD et de le charger sur le serveur qui va l'exploiter mais utiliser seulement MyISAM, c'est se priver des contraintes de clés étrangères et c'est dommage !
Si tu utilises InnoDB, ta méthode est impossible. Dans les deux cas, le meilleur moyen est de faire un dump de la BDD et de mettre le fichier de dump avec la sauvegarde de l'appli. Dans le déploiement, il suffit de prévoir un script qui recharge le fichier de dump sur le serveur. Le dump : Code :
mysqldump -u user_mysql -pson_mot_de_passe nom_bdd > dump_nom_bdd_date.sql
Code :
mysql -u user_mysql -pson_mot_de_passe nom_bdd < dump_nom_bdd_date.sql
Mais chez toi, laisse la BDD à sa place et fais des sauvegardes avec mysqldump.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
10
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Rebonjour Philippe,
Citation:
Mais là d’après ce que tu dis, je suis un peu surpris et déçu Est-ce un problème lié à MySQL que les autres SGBD n’ont pas ? Si c’est le cas j’abandonne donc cette alternative et je laisse ma BDD là où elle est. Alors Philippe, c’est ton dernier mot : c’est ou le choix du répertoire ou le moteur InnoDB ?
|
|
|
|
00
|
|
|
#8 |
![]() ![]() |
Salut
Meilleure réponse : InnoDB En plus si tu travaille sur une version récente de MySQL, ce moteur n'a plus rien à envier au vieux MyISAM et offre tellement plus. Comme le dit CinePhil cela serait bien dommage.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#9 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Eh bien là je n’ai plus rien à dire, le verdict est tombé, j’opte donc pour le moteur InnoDB et laisse ma BDD à sa place.
Mais je me demande encore, comment font les autres pour placer leur BDD là ou ils souhaitent, ont il pour cela dû sacrifier InnoDB ?? Mystère ![]() Un grand Merci à Un grand Merci à sabotage, CinePhil et rawsrc
|
|
|
00
|
|
|
#10 |
![]() ![]() |
Il ne faut pas confondre la BDD telle qu'elle est implémentée dans le SGBD et un fichier de sauvegarde qu'on peut utiliser pour (re)créer la BDD dans le SGBD.
Rien ne t'empêche de mettre le fichier de dump de la BDD dans le répertoire de ton application et de prévoir le petit programme qui créera la BDD lors de l'installation de l'appli.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
00
|
|
|
#11 | |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
Citation:
Tu veux dire que : - Pendant le développement je communique avec la BDD qui est physiquement enregistrée dans «C:\Program Files\EasyPHP-5.3.9\mysql\data» - Et à l’installation, quand je déploierai l’application sur les PCs du réseau local de l’entreprise, je lance un script qui crée la BDD dans le répertoire de mon application dans un unique PC (qui sera le Serveur de BDD), et je pourrais supprimer la BDD dans le répertoire «C:\Program Files\EasyPHP-5.3.9\mysql\data». Et j’imagine que je peux carrément désinstaller EasyPHP : Enfin je veux dire en principe. Car je le garderai évidemment pour les travaux de maintenance. --> Résultat : à la fin j'aurais la BDD dans le répertoire de l'application, avec l'option d'avoir une copie dans le répertoire d'EasyPHP si nécessaire. Est-ce que je t’ai bien compris là ? |
|
|
|
00
|
|
|
#12 |
![]() ![]() |
Ce n'est pas du tout ça.
Ta BDD est physiquement située dans le répertoire data de MySQL. Plus précisément, si tu utilises le moteur InnoDB, les données sont stockées dans les fichiers ibdata et le répertoire de la BDD ne contient que les fichiers permettant de recréer la BDD vide. C'est pour ça que sauvegarder le répertoire de la BDD n'est pas suffisant et qu'il faut utiliser mysqldump pour enregistrer la BDD sous fome d'un fichier SQL. En ligne de commande : Code :
mysqldump -u nom_utilisateur_mysql -pson_mot_depasse nom_de_la_bdd > chemin/vers/fichier_de_dump.sql
Il y a d'autres paramètres à mysqldump, cherche dans la doc de MySQL. est ton ami ! Pour créer la BDD complète avec ses données sur un autre serveur MySQL, tu utilises la commande inverse de la précédente : Code :
mysql -u nom_utilisateur_mysql -pson_mot_depasse nom_de_la_bdd < chemin/vers/fichier_de_dump.sql
Et sur le nouveau serveur, tu retrouveras dans MySQL la BDD que tu avais créée sur ton poste. Tu verras sur le serveur un répertoire au nom de ta BDD dans le répertoire MySQL et les données seront dans les fichiers ibdata si tu utilises InnoDB. C'est plus clair ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
10
|
|
|
#13 | |||||
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
CinePhil Citation:
Citation:
Citation:
Les commandes en ligne c’est plutôt pour les pros pas pour les pauvres windows-clikers comme moi Citation:
![]() Citation:
Juste pour tester, je viens de créer deux BDD, et j’ai vu qu’il y avait deux répertoires (un pour chaque BDD) mais à ma surprise un seul fichier ibdata Est ce que MySQL enregistre les données des enregistrements de toutes les BDDs confondues dans un seul et unique fichier ibdata ?!
|
|||||
|
|
00
|
|
|
#14 | |
![]() ![]() |
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise la suite Linux Mageïa ! |
|
|
10
|
|
|
#15 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 15 ![]() |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com