Rechercher dans le manuel MySQL
15.6.3.6 Creating a Tablespace Outside of the Data Directory
The CREATE TABLE ...
DATA DIRECTORY
clause permits creating a
file-per-table
tablespace outside of the data directory. For example, you can use
the DATA DIRECTORY
clause to create a
tablespace on a separate storage device with particular
performance or capacity characteristics, such as a fast
SSD or a high-capacity
HDD.
Be sure of the location that you choose. The DATA
DIRECTORY
clause cannot be used with
ALTER TABLE
to change the location
later.
The tablespace data file is created in the specified directory, within in a subdirectory named for the schema to which the table belongs.
The following example demonstrates creating a file-per-table
tablespace outside of the data directory. It is assumed that the
innodb_file_per_table
variable is
enabled.
- Database changed
- # MySQL creates the tablespace file in a subdirectory that is named
- # for the schema to which the table belongs
- shell> cd /remote/directory/test
- shell> ls
- t1.ibd
When creating a tablespace outside of the data directory, ensure
that the directory is known to InnoDB
.
Otherwise, if the server halts unexpectedly before tablespace data
file pages are fully flushed, startup fails when the tablespace is
not found during the pre-recovery discovery phase that searches
known directories for tablespace data files (see
Tablespace Discovery During Crash Recovery). To make a
directory known, add it to the
innodb_directories
argument
value. innodb_directories
is a
read-only startup option that defines directories to scan at
startup for tablespace data files. Configuring it requires
restarting the server.
CREATE TABLE ...
TABLESPACE
syntax can also be used in combination with
the DATA DIRECTORY
clause to create a
file-per-table tablespace outside of the data directory. To do so,
specify innodb_file_per_table
as the tablespace
name.
The innodb_file_per_table
variable does not need to be enabled when using this method.
Usage Notes:
MySQL initially holds the tablespace data file open, preventing you from dismounting the device, but might eventually close the table if the server is busy. Be careful not to accidentally dismount an external device while MySQL is running, or start MySQL while the device is disconnected. Attempting to access a table when the associated tablespace data file is missing causes a serious error that requires a server restart.
A server restart issues errors and warnings if the tablespace data file is not at the expected path. In this case, you can restore the tablespace data file from a backup or drop the table to remove the information about it from the data dictionary.
Before placing a tablespace on an NFS-mounted volume, review potential issues outlined in Using NFS with MySQL.
If using an LVM snapshot, file copy, or other file-based mechanism to back up the tablespace data file, always use the
FLUSH TABLES ... FOR EXPORT
statement first to ensure that all changes buffered in memory are flushed to disk before the backup occurs.Using the
DATA DIRECTORY
clause is an alternative to using symbolic links, which is not supported.
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 26/06/2006 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/mysql-rf-tablespace-placing.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.