2.5 Changer de version de MySQL
2 Installation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Passer de la version 3.23 à la version 4.0 . Passer de la version 3.22 à la version 3.23 . Passer de la version 3.21 à la version 3.22 . Passer de la version 3.20 à la version 3.21 ->Migrer depuis une autre architecture
|
2.5.5 Migrer depuis une autre architecture
Si vous utilisez MySQL version 3.23, vous pouvez copier les fichiers
.frm
,
.MYI
et
.MYD
entre les différentes architectures qui supportent le
même format de nombre à virgule flottante (MySQL prend en charge les échanges d'octets).
Les données MySQL des tables
ISAM
et les fichiers d'index (
.ISD
et
*.ISM
, respectivement) sont dépendantes de l'architecture, et dans certains
cas, dépendantes du système d'exploitation. Si vous voulez déplacer des applications
vers une autre machine qui a une autre architecture, ou un autre système d'exploitation
que votre machine courante, il est recommandé de ne pas faire une simple copie
de base en copiant les fichiers vers leur nouvelle destination. Utilisez plutôt
mysqldump
.
Par défaut,
mysqldump
va créer un fichier de requêtes SQL. Vous pouvez
alors transférer le fichier sur une autre machine, et le fournir comme script
à un client
mysql
.
Essayez la commande
mysqldump --help
pour voir quelles options sont disponibles.
Si vous envoyez les données vers une nouvelle version de MySQL, il recommandé
d'utiliser l'option
mysqldump --opt
pour obtenir un export compact et plus
rapide.
Le plus facile (mais pas le plus rapide) pour déplacer une base de données entre
deux machines et d'exécuter les commandes suivantes sur la machine qui héberge
la base :
shell> mysqladmin -h 'other hostname' create db_name shell> mysqldump --opt db_name \ | mysql -h 'other hostname' db_name
|
Si vous voulez copier la base depuis une machine distante sur un réseau
lent, vous pouvez utiliser :
shell> mysqladmin create db_name shell> mysqldump -h 'other hostname' --opt --compress db_name \ | mysql db_name
|
Vous pouvez aussi stocker le résultat dans un fichier, et transférer le
fichier sur la machine de destination, puis charger ce fichier dans le
serveur. Par exemple, vous pouvez exporter la base vers un fichier source
comme ceci :
shell> mysqldump --quick db_name | gzip > db_name.contents.gz
|
Le fichier créé est compressé. Transférez le fichier contenant le contenu
de votre base sur la machine de destination, puis utilisez ces commandes :
shell> mysqladmin create db_name shell> gunzip < db_name.contents.gz | mysql db_name
|
Vous pouvez aussi utiliser
mysqldump
et
mysqlimport
pour accomplir
cette opération.
Pour les grandes tables, c'est bien plus rapide que d'utiliser simplement
mysqldump
. Dans les commandes suivantes,
DUMPDIR
représente le chemin
complet du dossier que vous utilisez pour stocker le résultat de
mysqldump
.Premièrement, créez un dossier pour les fichiers d'exportation, puis faites
l'export :
shell> mkdir DUMPDIR shell> mysqldump --tab=DUMPDIR db_name
|
Puis transférez les fichiers du dossier
DUMPDIR
dans un dossier
correspondant, dans la machine de destination, puis chargez ces fichiers
dans MySQL comme ceci :
shell> mysqladmin create db_name # Création de la base shell> cat DUMPDIR/*.sql | mysql db_name # Création des tables dans la base shell> mysqlimport db_name DUMPDIR/*.txt # Chargement des données dans les tables
|
N'oubliez pas non plus de copier le contenu de votre base
mysql
car c'est là que
résident les droits (
user
,
db
,
host
). Vous devrez alors exécuter
les commandes en tant que
root
MySQL sur la nouvelle machine, jusqu'à ce que vous
ayez réinstallé
mysql
.
Après l'importation de la base
mysql
sur la nouvelle machine, exécutez la commande
mysqladmin flush-privileges
pour que le serveur relise les droits.
|