7.6.1 Utiliser des liens symboliques
7.6 Problèmes avec les disques
7 Optimisation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
->Utiliser les liens symboliques pour les bases . Utiliser les liens symboliques avec les tables sous Unix . Utiliser des liens symboliques pour les bases de données sous Windows
|
7.6.1.1 Utiliser les liens symboliques pour les bases
Pour créer des liens symboliques sur les bases de données, vous devez
commencer par créer un dossier sur un disque de destination, puis faire
un lien symbolique depuis le dossier de données vers votre dossier de destination.
shell> mkdir /dr1/databases/test shell> ln -s /dr1/databases/test mysqld-datadir
|
MySQL n'accepte pas que vous fassiez le lien depuis plusieurs bases sur
le même dossier. Remplacer une base par un lien symbolique sera correct
tant que vous n'essayez pas de faire des liens symboliques dans la même base.
Supposez que vous la base
db1
dans le dossier de données MySQL,
puis que vous fassiez un lien symbolique
db2
qui pointe sur
db1
:
shell> cd /path/to/datadir shell> ln -s db1 db2
|
Maintenant, pour toute table
tbl_a
de
db1
, il en apparaît aussi
tbl_a
dans
db2
. Si un thread modifie
db1.tbl_a
et un autre
db2.tbl_a
, il va y avoir un conflit.Si vous avez vraiment besoin de cette fonctionnalité, vous devez changer
le code suivant dans le fichier C
mysys/mf_format.c
:
if (!(MyFlags & MY_RESOLVE_LINK) || (!lstat(filename,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
|
Avant MySQL 4.0, recherchez cette instruction dans le fichier
mysys/mf_format.c
:
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
|
Remplacez l'instruction par :
Sous Windows, vous pouvez utiliser des liens internes symboliques
pour relier des bases en compilant MySQL avec l'option
-DUSE_SYMDIR
.
Cela vous permettra de placer vos bases de données sur différentes partitions.
Utiliser les liens symboliques pour les bases sous Windows .
|