Outils pour utilisateurs

Outils du site


access_mysql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

access_mysql [2014/05/25 17:38] (Version actuelle)
g.rnd@free.fr créée
Ligne 1: Ligne 1:
 +====== BDD Access/​MySQL ======
  
 +L'​utilisation de Microsoft Access pose des problèmes en **utilisation-réseau**. Une alternative consiste à utiliser l'​interface **Access** sur chaque poste, mais avec les données stockées sur un **serveur MySQL**. ​
 +
 +  * Comme le serveur assure les fonctions SQL, il soulage d'​autant le fonctionnement de l'​application Access sur les postes. ​
 +
 +  * La BDD devient alors plus **fluide** et réellement alors **multi-poste**,​ sans restriction du nombre des utilisateurs. ​
 +
 +  * Les **droits** peuvent être attribués aux utilisateurs de façon fine par l'​interface PHP-MyAdmin.
 +
 +===== Serveur MySQL =====
 +
 +==== Installation ====
 +
 +Installer sur le serveur les paquets suivants: **mysql-server** et **phpmyadmin**.
 +
 +==== Configuration ====
 +
 +  * Vérification des réseaux:
 +<​file>​sudo netstat -laputen | grep mysql</​file>​
 +Vérifier les réseaux ouverts pour le port 3306. Pour le modifier, éditer le fichier **my.cnf**:
 +<​file>​sudo nano /​etc/​mysql/​my.cnf</​file>​
 +Remplacer dans bind-address = 127.0.0.1 par **bind-address = 0.0.0.0** pour permettre l'​accès par tous les réseaux.
 +
 +  * Relancer MySQL:
 +<​file>​sudo /​etc/​init.d/​mysql restart</​file>​
 +
 +  * Tester MySQL:
 +<​code>​$ mysql -h IP_Serveur -u root -p;   # entrer l'IP du serveur, répondre le mot de passe du Root
 +mysql> show databases;
 ++--------------------+
 +| Database ​          |
 ++--------------------+
 +| information_schema |
 +| GLPI               |
 +| glpi               |
 +| jeritest ​          |
 +| mysql              |
 +| ocs                |
 +| ocsweb ​            |
 ++--------------------+
 +7 rows in set (0.00 sec)
 +
 +mysql> quit</​code>​
 +
 +===== Poste Access =====
 +
 +
 +==== Installation ====
 +
 +Se rendre sur http://​dev.mysql.com/​downloads/​gui-tools/​5.0.html et sur http://​dev.mysql.com/​downloads/​connector/,​ télécharger et **installer**:​
 +  * **mysql-migration-toolkit** (fait partie de MySQL GUI Tools, à mettre sur un seul PC pour la migration),
 +  * **mysql-connector-ODBC** (driver pour ODBC, à installer sur chaque poste Access).
 +
 +
 +==== Migration ====
 +
 +Pour réaliser la migration des tables Access en MySQL sur le serveur, lancer **MySQL Migration Toolkit**.
 +
 +{{sql1.png|}}
 +
 +
 +  * Indiquer dans le champ DataBase System, **MS Access** et dans le chap DataBase File, le **fichier Base de Données Access**.
 +  * Dans Target DataBase, indiquer MySQL, l'IP serveur, port 3306, utilisateur Root et mot de passe. ​
 +  * Next lance Reverse Engeneering. ​
 +  * Dans Source Shemata Selection, cliquer sur l'​icône V2003 (correspond à Access 2003). ​
 +  * Pour Object Mapping, cliquer encore sur Next. La migration se réalise. ​
 +  * Pour DataBase Object Creation Parameters, faire Next. 
 +  * Après Creating Objects, faire toujours Next. 
 +  * Pour Bulk Transfer Settings, garder Transfer Data Drive et faire Next, les tables se transfèrent. ​
 +  * A l'​issue,​ faire Next.
 +  * On arrive alors sur la fin de la migration, cliquer Finish.
 +
 +
 +==== Privilèges ====
 +
 +  * Ouvrir **PHP-MyAdmin** par l'URL http://​IP_Serveur/​phpmyadmin/​. Après authentification,​ cliquer sur **Recharger les privilèges**.
 +
 +{{10.png|}}
 +
 +
 +  * Attribuer tous les droits à **Root** pour la BDD.
 +
 +{{2.png|}}
 +
 +
 +  * Ajouter un **utilisateur** sans privilèges.
 +
 +{{3.png|}}
 +
 +  * Attribuer ensuite des privilèges à l'​utilisateur sur la Base **v2003**.
 +
 +{{4.png|}}
 +
 +{{5.png|}}
 +
 +
 +
 +
 +
 +
 +==== Configuration de l'ODBC ====
 +
 +  * Ouvrir **Panneau de configuration/​Outils d'​Administration/​Source de Données ODBC**.
 +  * Cliquer sur **Ajouter**.
 +
 +{{odbc1.png|}}
 +
 +Choisir le pilote **MySQL ODBC 5.1**. ​
 +
 +{{7.png|}}
 +
 +**Tester** puis **sélectionner** la BDD.
 +
 +{{connectorodbc.png|}}
 +
 +
 +
 +
 +==== Lien des tables du programme ====
 +
 +Faire d'​abord une copie du fichier-programme Access, le renommer (ProgrammeBDD_MySQL par exemple) et l'​ouvrir:​
 +
 +  * **supprimer** toutes les tables existantes,
 +
 +  * refaire tous les **liens ODBC**. Pour cela, cliquer **Fichier/​Données externes/​Lier les tables** ou **Outils/​Utilitaire Base de Données/​Gestionnaite de tables liées**, choisir Type de fichier: ​ **ODBC databases** puis **Source de données machine** et **sélectionner** la source.
 +
 +{{9.png|}}
 +
 +
 +  * A la suite, **recréer les liaisons** entre les tables.
 +
 +{{relations1_600.png|}}
 +
 +
 +
 +
 +===== Configuration des postes =====
 +
 +  * Pour chaque **poste**, installer le driver **MySQL-Connector**,​ attribuer les **privilèges** spécifiques (PHP-MyAdmin).
 +
 +  * Pour chaque session, reconfigurer ODBC sur **MySQL ODBC** et indiquer le nom, tester et choisir la source V2003.
 +
 +  * Changer le nom du Programme Access du Bureau pour en faire ProgrammeBDD_MySQL.mdb. ​
 +
 +  * L'​ouvrir,​ effacer toutes les tables existantes et recréer ces tables par Fichiers/​Données externes/​Lier les tables/​Format **ODBC databases**/​**Source données Machine** et choisir ProgrammeBDD_MySQL.
 +
 +  * Recréer toutes les liaisons entre les tables.
 +
 +**Nota**: Pour éviter la tâche précédente plutôt fastidieuse,​ reprendre un fichier Programme ProgrammeBDD_MySQL du premier poste.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Accès à distance =====
 +
 +Pour accéder à la BDD à partir d'un poste Windows distant:
 +
 +  * ouvrir une connexion **Putty** avec une redirection 8080-80 pour PHP-MyAdmin et une redirection 3306 pour MySQL,
 +
 +  * attribuer les bons **privilèges** à un utilisateur par PHP-MyAdmin,​
 +
 +  * ouvrir ​ Outils d'​Administration/​Sources de données **ODBC**, ​
 +
 +  * cliquer sur **Ajouter**, ​
 +
 +  * sélectionner **MySQL ODBC 5.1 Driver**, ​
 +
 +  * entrer un nom à la **source**, ​
 +
 +  * entrer l'​adresse Serveur: **localhost** (avec port 3306),
 +
 +  * entrer **identifiant** et **mot de passe**,
 +
 +  * cliquer sur le bouton **Test**,
 +
 +  * choisir enfin dans le menu **Database**,​ la base concernée,
 +
 +  * on peut alors travailler sur Access avec le serveur distant.
 +
 +Si on veut utiliser PHP-MyAdmin,​ entrer:
 +<​code>​http://​localhost:​8080/​phpmyadmin</​code>​
access_mysql.txt · Dernière modification: 2014/05/25 17:38 par g.rnd@free.fr