Memorizzare each database in una directory diversa

C'è un modo per memorizzare each database mysql in una directory separata? Potrei colbind le directory in / var / lib / mysql per each database, ma mi chiedevo se esista un modo integrato di farlo.

Grazie

  • Come si sceglie un motore di database MySQL
  • Attiva HugePages su Linux per più servizi / processi
  • La cache di query MySQL 5.5.9 non funziona quando gli schemi hanno dei trattini ("-") nel loro nome
  • Come creare artificialmente una query lenta in mysql?
  • MySQL rallenta gradualmente fino al riavvio del server
  • Requisiti di sistema di applicazioni di scrittura pesanti che servono centinaia di richieste al secondo
  • 3 Solutions collect form web for “Memorizzare each database in una directory diversa”

    Nessun modo integrato di fare che temo, il modo in cui funziona il mysql sta solo definendo il datadir e quindi tutti i database devono essere presenti nelle loro directory.

    Se vuoi farlo, assicuratevi solo che l'utente che mysql sia in esecuzione abbia accesso alle directory finali, i link morbidi dovrebbero essere benissimo penso.

    Sorprendentemente, l'unico simbolo incorporato di singole tabelle MyISAM
    viene eseguito dal command CREATE TABLE come segue:

    CREATE TABLE ( ... ) ENGINE=MyISAM DATA_DIRECTORY='absolute path of data folder' INDEX_DIRECTORY='absolute path of index folder'; 

    Andare a http://dev.mysql.com/doc/refman/5.0/en/create-table.html e individuare le opzioni DATA_DIRECTORY e INDEX_DIRECTORY.

    Solo il file .frm rimane nel server originale.

    BTW Queste opzioni non funzionano nella versione di MySQL di Windows. Queste opzioni non sono disponibili per InnoDB.

    http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html :

    Con più tabelle abilitate, InnoDB memorizza each tabella appena creata nel proprio file tbl_name.ibd nella directory di database appropriata

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.