| 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.
 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> mkdir /dr1/databases/testshell> ln -s /dr1/databases/test mysqld-datadir
 | 
 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
 :| 
shell> cd /path/to/datadirshell> ln -s db1 db2
 | 
 Avant MySQL 4.0, recherchez cette instruction dans le fichier  
mysys/mf_format.c
  :| 
if (!(MyFlags & MY_RESOLVE_LINK) || (!lstat(filename,&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 .| 
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
 | 
 |