Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment aliaser une base de données dans MySQL ?

https://dev.mysql.com /doc/refman/5.7/en/symbolic-links-to-databases.html dit

Vous pouvez utiliser des liens symboliques pour lier un répertoire de base de données à un autre emplacement, par exemple en dehors de datadir.

$ cd /var/lib/mysql
$ ln -s /other/dir/mydatabase .

Mais vous ne pouvez pas utiliser de liens symboliques pour faire d'un répertoire de base de données un "alias" pour une autre base de données MySQL :

$ cd /var/lib/mysql
$ ln -s `pwd`/mydatabase1 mydatabase2  # WRONG

La raison en est qu'InnoDB conserve les noms de base de données et d'autres métadonnées dans son propre dictionnaire de données, stocké dans le fichier d'espace de table. Si vous le confondez, vous n'obtiendrez pas ce que vous voulez.

MySQL n'a pas de syntaxe DDL pour aliaser une base de données.