sql >> Databasteknik >  >> RDS >> Mysql

Hur aliaser jag en databas i MySQL?

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

Du kan använda symboliska länkar för att länka en databaskatalog till någon annan plats, till exempel utanför datakatalogen.

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

Men du kan inte använda symboliska länkar för att göra en databaskatalog till ett "alias" för en annan MySQL-databas:

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

Anledningen är att InnoDB behåller databasnamn och annan metadata i sin egen dataordbok, lagrad i tablespace-filen. Om du förvirrar det kommer du inte att få det du vill ha.

MySQL har ingen DDL-syntax för att aliasera en databas.



  1. Hur lägger jag till varje rad i MySQL?

  2. ORACLE - Välj Count on a Subquery

  3. Problem med SQLiteOpenHelper på Android 2.X och 3.X

  4. Behöver Laravels soft_delete index på MySQL?