Quantcast
Channel: WampServer - WampServer Francais
Viewing all articles
Browse latest Browse all 3472

Installer MySQL 5.5.34 après et en plus de 5.6.14 (Pas de réponses)

$
0
0
Bonjour,

-- Installer MySQL 5.5.34 après et en plus de MySQL 5.6.14.
(Ce peut être 5.5.x et 5.6.x)
Prérequis :
- 1 - Fonctionne avec les systèmes suivants : Vista, Windows 7, Windows 8, Windows 8.1, en 32 bit et 64 bit
- 2 - Peut fonctionner pour XP SP3 à condition d'ajouter des pilotes pour les liens symboliques
- 3 - Ne peut fonctionner qu'avec des disques et partitions formattées NTFS

Effectué réellement en temps réel [Beaucoup plus long à écrire qu'à faire] en partant de Wampserver 2.4 avec Apache 2.4.6, PHP 5.5.6, MySQL 5.6.14 et PhpMyAdmin 4.0.9 - Il ne devrait pas y avoir de problème avec une version MySQL 5.6.xy.
Les chemins indiqués, sont ceux de mon installation dans J:\wamp Il faudra les remplacer par ceux de votre installation.

J'ai écrit dans une autre contribution :
Pendant que j'y suis avec les compatibilités, ceux qui ont des yeux de Lynx ont peut-être remarqués que dans ma signature je n'utilise plus qu'une seule version de MySQL (5.6.14) et que 5.5.33 a disparu.
En effet, - ça m'a coûté trois heures d'essais et de recherches -, lorsque l'on a effectué, sous MySQL 5.6.14 (Ou 5.6.0+) la procédure mysql_upgrade.exe* comme on devrait systématiquement le faire après installation d'une nouvelle version de MySQL, les bases de référence "mysql" et "information_schema" ne sont plus compatibles avec la branche 5.5. (Comme quoi qui peut le plus ne peut pas forcément toujours le moins).
*Paragraphe --- Effectuer mysql_upgrade.exe ---

Nous allons donc voir comment on peut faire cohabiter les branches 5.5 et 5.6 de MySQL tout en pouvant utiliser, dans les deux versions, ses propres bases de données.

Avant d'installer MySQL 5.5.34 pour cohabitation avec MySQL 5.6.14, assurons nous que le fichier J:\wamp\bin\mysql\mysql5.6.14\my.ini est totalement correct.
Pour ce faire, après avoir lancé Wampserver avec MySQL 5.6.14, il faut aller voir les erreurs éventuelles dans l'observateur d'événements
Si on y voit une erreur du style :
Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release
il faut la corriger par le remplacement, dans le fichier my.ini susmentionné de, par exemple :
key_buffer = 16M
par
key_buffer_size = 16M
mais, si cette erreur ne parle que de "key_buffer", il faut également remplacer la plupart des directives xxxx_buffer par xxxx_buffer_size donc, pour toutes les directives ci-dessous, il faut ajouter _size
Attention : Il peut y avoir plusieurs fois la même directive dans des sections différentes
innodb_buffer_pool =
innodb_log_buffer =
innodb_log_file =
key_buffer =
myisam_sort_buffer =
read_buffer =
read_rnd_buffer =
sort_buffer =
write_buffer =
Vérifiez également que dans le fichier my.ini, il existe, dans la section [wampmysqld] - décommentée - la ligne :
explicit_defaults_for_timestamp
ou
explicit_defaults_for_timestamp=true
Après ces modifications, il ne devrait plus y avoir d'erreurs relatives à MySQL dans l'Observateur d'événements ou dans le fichier de logs d'erreurs de MySQL.

--- 1 - Sauvegarde des utilisateurs
À partir de Wampserver avec MySQL 5.6.14, lancez PhpMyAdmin.
- Onglet Utilisateurs
- Validez Tout cocher
- Cliquez Pour la sélection : Exporter
Cliquez dans la fenêtre, puis Ctrl-A (Tout sélectionner) puis Ctrl-C (Copier)
On ne peut pas sauvegarder le contenu dans un fichier. Il faut le faire par un Coller dans un éditeur de texte et sauvegarder le fichier.
Remarque : Comme depuis des lustres, j'utilise Clipmate, un presse-papiers multiple, je n'ai nul besoin de sauvegarder le contenu dans un fichier.
- Quittez Wampserver

--- 2 - Préparation de PhpMyAdmin pour mySQL 5.5.34
L'installation d'une nouvelle version de MySQL ne comprend que l'utilisateur "root" sans mot de passe, il est donc indispensable de préparer le lancement de PhpMyadmin pour cet utilisateur.
- Renommer votre fichier J:\wamp\apps\phpmyadmin4.0.9\config.inc.php, par exemple en J:\wamp\apps\phpmyadmin4.0.9\config.inc4614.php
- Créez un nouveau fichier J:\wamp\apps\phpmyadmin4.0.9\config.inc.php qui doit contenir
<?php

//Fichier provisoire pour installation nouvelle version MySQL
/* Servers configuration */
$i = 0;

$cfg['blowfish_secret'] = 'a8b7c6d'; //Ce que vous voulez

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

// Autorise connexion sans mot de passe
$cfg['Servers'][$i]['AllowNoPassword'] = true;

// Supprime l'avertissement aux sujets des tables pmadb
$cfg['PmaNoRelation_DisableWarning'] = true;

/* End of servers configuration */

?>
Remarque : Si vous n'avez pas validé l'extension PHP "php_mysqli", remplacez 'mysqli' par 'mysql'
Nota : Si vous aviez mis un mot de passe à root, le lancement de PhpMyAdmin maintenant ne fonctionnera pas

--- 3 - Installation MySQL 5.5.34 -
- Téléchargez mysql-5.5.34-win32.zip (Validez : No thanks, just start my download.)
- Dézippez l'archive dans un dossier temporaire, vous obtiendrez un dossier : mysql-5.5.34-win32 que je nomme source
- Créez un dossier J:\wamp\bin\mysql\mysql5.5.34\ que je nomme destination
- Depuis source copiez les dossiers "bin", "data" et "share" dans destination
- Depuis j:\wamp\bin\mysql\mysql5.6.14\ copiez les fichiers "my.ini" et "wampserver.conf" dans j:\wamp\bin\mysql\mysql5.5.34\

Éditez le fichier j:\wamp\bin\mysql\mysql5.5.34\my.ini
Remplacer la ligne basedir= par celle de la nouvelle version de MySQL :
basedir=J:/wamp/bin/mysql/mysql5.5.34
Remplacer la ligne datadir= par celle de la nouvelle version de MySQL :
datadir= J:/wamp/bin/mysql/mysql5.5.34/data
Commentez la ligne explicit_defaults_for_timestamp
#explicit_defaults_for_timestamp
Avant de sauvegarder le fichier modifié, vérifiez que tous les éventuels chemins font bien référence à la nouvelle version de MySQL, par exemple :
#Path to the language
lc-messages-dir=J:/Wamp/bin/mysql/mysql5.5.34/share
lc-messages=fr_FR
Sauvegardez le fichier modifié.

--- 4 - Basculement sur nouvelle version MySQL
- Lancez Wampserver (Attendre icône verte)
- Icône Wampserver, MySQL, Versions, valider 5.5.34
Après un « certain temps » l'icône Wampserver redevient verte, le basculement de version s'est bien passé, avec quelques lignes « normales » dans le fichier de log MySQL du style :
131127 18:40:20 [Note] Plugin 'FEDERATED' is disabled.
131127 18:40:20 InnoDB: The InnoDB memory heap is disabled
131127 18:40:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
131127 18:40:20 InnoDB: Compressed tables use zlib 1.2.3
131127 18:40:20 InnoDB: Initializing buffer pool, size = 16.0M
131127 18:40:20 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file .\ibdata1 did not exist:
InnoDB: a new database to be created!
131127 18:40:20  InnoDB: Setting file .\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
131127 18:40:21  InnoDB: Log file .\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
131127 18:40:21  InnoDB: Log file .\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
131127 18:40:22  InnoDB: Waiting for the background threads to start
131127 18:40:23 InnoDB: 5.5.34 started; log sequence number 0
131127 18:40:23 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
131127 18:40:23 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
131127 18:40:23 [Note] Server socket created on IP: '0.0.0.0'.
131127 18:40:23 [Note] Event Scheduler: Loaded 0 events
131127 18:40:23 [Note] wampmysqld: ready for connections.
Version: '5.5.34'  socket: ''  port: 3306  MySQL Community Server (GPL)

Arrivé là, la nouvelle version de MySQL est fonctionnelle, néanmoins, il reste à restaurer les utilisateurs et à faire en sorte de pouvoir utiliser vos bases de données.

--- 5 - Restauration des utilisateurs
- Lancez PhpMyAdmin
Nota : Vous aurez l'avertissement : « Votre fichier de configuration fait référence à l'utilisateur «root » sans mot de passe... », ne pas en tenir compte
- Onglet SQL
Dans la fenêtre de requêtes, vous collez le contenu sauvegardé en --- 1 -
- Validez bouton Exécuter
- Les utilisateurs sont restaurés, mais vous ne pouvez plus utiliser PhpMyAdmin tel quel.
- Quittez PhpMyAdmin

--- 6 - Restauration du fichier config.inc.php
- Renommez J:\wamp\apps\phpmyadmin4.0.9\config.inc.php en J:\wamp\apps\phpmyadmin4.0.9\config.incROOT_WP.php (utilisateur root sans mot de passe)
- Renommez le fichier précédemment renommé en --- 2 - J:\wamp\apps\phpmyadmin4.0.9\config.inc4614.php en J:\wamp\apps\phpmyadmin4.0.9\config.inc.php
Vous devez pouvoir vous connectez à PhpMyAdmin de la même manière que vous le faisiez sous MySQL 5.6.14

--- 7 - Connexion à votre propre base de données
Cette manière de faire peut être aussi mise en place pour pouvoir utiliser plusieurs bases de données situées dans des dossiers ou sur des disques différents. Bien pratique puisque la directive datadir du fichier my.ini ne permet qu'une seule localisation.
Prérequis :
- 1 - Fonctionne avec les systèmes suivants : Vista, Windows 7, Windows 8, Windows 8.1 en 32 bit et 64 bit
- 2 - Peut fonctionner pour XP SP3 à condition d'ajouter des pilotes pour les liens symboliques
- 3 - Ne peut fonctionner qu'avec des disques et partitions formattées NTFS

Nous allons donc nous servir des liens symboliques et plus particulièrement des jonctions de dossiers.
Comme cette possibilité fait partie du système d'exploitation, en l'occurrence Windows (gestion des fichiers et dossiers ou File System), ça fonctionne pour toutes les applications et logiciels sous Windows.

-- La création des jonctions doit se faire application arrêtée, donc, quittez Wampserver --

La commande (En ligne de commande) pour créer des jontions de dossier est mklink dont l'aide (mklink /?) donne :
Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Windows\system32>mklink /?
Crée un lien symbolique.

MKLINK [[/D] | [/H] | [/J]] Lien Cible

        /D      Crée un lien symbolique vers un répertoire. Par défaut,
                il s'agit d'un lien symbolique vers un fichier.
        /H      Crée un lien réel à la place d'un lien symbolique.
        /J      Crée une jonction de répertoires.
        Lien    Spécifie le nom du nouveau lien symbolique.
        Cible   Spécifie le chemin d'accès (relatif ou absolu) auquel
                le nouveau lien fait référence.

C:\Windows\system32>
Votre base de données "ma_base" est, par défaut, J:/wamp/bin/mysql/mysql5.6.14/data/ma_base/
Et, pour les exemples, nous allons prendre une autre base de données G:/wwwbase/aviatechno/
Pour la création des jontions de dossiers, il est impératif (Pour les bases de données) que le nom de la jonction soit le même que celui du dossier à joindre (La cible).
Par exemple, le nom de la jonction sur G:/wwwbase/aviatechno/ doit être "aviatechno".
Les jontions doivent être créées dans le dossier MySQL qui contient les bases de données (Pointé par la directive datadir = du fichier my.ini) donc, pour MySQL 5.5.34 dans J:/wamp/bin/mysql/mysql5.5.34/data/, donc, il faut ouvrir un fenêtre de commande sur ce dossier. Ça peut être effectué via l'Explorateur de fichiers, Maj-Clic-Droit sur le nom du dossier J:/wamp/bin/mysql/mysql5.5.34/data/ puis choisir Ouvrir une fenêtre de commande ici
Dans la fenêtre de commande, nous allons taper :
mklink /J "ma_base" "J:\wamp\bin\mysql\mysql5.6.14\data\ma_base\" puis Entrée
mklink /J "aviatechno" "G:\wwwbase\aviatechno\" puis Entrée
Maintenant, si vous lancez Wampserver, et par exemple PhpMyAdmin, vous verrez bien vos bases de données qui sont dans J:/wamp/bin/mysql/mysql5.6.14/data/ma_base/ et vous pourrez y effectuer toutes les opérattions possibles exactement de la même manière que si elles étaient dans J:/wamp/bin/mysql/mysql5.5.34/data/

Créer les jonctions « à la main par ligne de commande » est fastidieux et source d'erreur, c'est pourquoi je vous propose ou plutôt Hermann Schinagl, Felix Kasza, Jean-Pierre Bergamin, Travis Illig, Mark Russinovich, Philip Daniels, Daniel Thibault, Masatoshi Kimura vous proposent un outil performant qui peut créer les jonctions sans ligne de commande, directement à partir de l'Explorateur ou de Total Commander ; il s'agit de Link Shell Extension

Un fois installée, cette extension du système fonctionne de la mamière suivante, tout du moins pour ce qui nous intéresse, les jonctions (Pour le reste, lire la documentation afférente).
- 1 - Lancer l'Explorateur
- 2 - Choisir la 1re cible : J:\wamp\bin\mysql\mysql5.6.14\data\ma_base
- 3 - Clic-Droit sur cette cible, puis Prendre comme cible du lien
- 3 - Choisir J:\wamp\bin\mysql\mysql5.5.34\data
- 4 - Clic-Droit sur le dossier ci-dessus puis Coller... Une jonction
Si nécessaire, recommencer avec les autres cibles.
Si il y en a beaucoup à faire, il est bon d'ouvrir deux Explorateurs avec le second toujours sur J:\wamp\bin\mysql\mysql5.5.34\data
(De base, Total Commander, que j'utilise depuis des lustres, ouvre deux fenêtres côte-à-cote).

Viewing all articles
Browse latest Browse all 3472


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>