sql >> Database >  >> RDS >> Mysql

Hoe alias ik een database in MySQL?

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

U kunt symbolische koppelingen gebruiken om een ​​databasedirectory te koppelen aan een andere locatie, bijvoorbeeld buiten de datadir.

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

Maar u kunt geen symbolische koppelingen gebruiken om van de ene databasedirectory een "alias" te maken voor een andere MySQL-database:

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

De reden is dat InnoDB databasenamen en andere metadata bewaart in zijn eigen datadictionary, opgeslagen in het tablespace-bestand. Als je het door elkaar haalt, krijg je niet wat je wilt.

MySQL heeft geen DDL-syntaxis voor het aliasen van een database.



  1. PostgreSQL-databaseservice

  2. Een foutmelding verbergen

  3. Django-queryset-objecten retourneren Geen in plaats van 0, ook al heeft de database 0 als veldwaarde opgeslagen

  4. SELECT SUM retourneert een rij als er geen records zijn