sql >> Databasteknik >  >> RDS >> Mysql

Innodb; flera datakataloger

Bara för att uppdatera det här inlägget om någon någonsin stöter på detta, stöder InnoDB nu datakatalog sedan version 5.6. Ingen symbolisk länk (rekommenderas inte) och fungerar för både *nix och Windows.

Krav:

  1. MySQL 5.6 och senare
  2. innodb_file_per_table är aktiverad

innodb_file_per_table = 1

Scenario 1 (skapa nya tabeller):

Det är så enkelt som att specificera DATA DIRECTORY-alternativen när tabellen skapas.

  1. CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';

Scenario 2 (flytta befintlig tabell till separat disk):

Detta innebär några fler steg (omstart av MySQL-servern krävs) men fortfarande ganska rakt fram. Och det kräver inte att tabellen har DATA DIRECTORY-alternativet specificerat när tabellen skapades.

  1. Stoppa MySQL-server
  2. Flytta innodb-tabellen tabellnamn .ibd-fil för att separera disk/volym genom enkel filkopiering/filflyttning
  3. Skapa en textfil med tillägget .isl, t.ex. tabellnamn .isl
  4. Redigera .isl-filen och skriv in den nya sökvägen till tabellnamn .ibd-fil som du flyttade./alternative/directory/table_name.ibd
  5. Se till att den ursprungliga .ibd-filen i den gamla sökvägen togs bort
  6. Starta MySQL-server

Nu kommer efterföljande ändringar av den flyttade tabellen att sparas i .ibd-filen i ny sökväg.

För referens, se MySQL officiella dokument:http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html



  1. Alfanumerisk ordning efter i Mysql

  2. Visar � istället för £

  3. node.js + mysql anslutningspoolning

  4. Vad är dynamisk SQL?