Spec-Zone .ru
спецификации, руководства, описания, API
|
You can use raw disk partitions as data files in the InnoDB
system
tablespace. This technique enables nonbuffered I/O on Windows and on some Linux and Unix systems without
file system overhead. Perform tests with and without raw partitions to verify whether this change actually
improves performance on your system.
When you create a new data file, put the keyword newraw
immediately after the data
file size in innodb_data_file_path
.
The partition must be at least as large as the size that you specify. Note that 1MB in InnoDB
is 1024 × 1024 bytes, whereas 1MB in disk specifications usually means 1,000,000 bytes.
[mysqld]innodb_data_home_dir=innodb_data_file_path=/dev/hdd1:3Gnewraw;/dev/hdd2:2Gnewraw
The next time you start the server, InnoDB
notices the newraw
keyword and initializes the new partition. However, do not create or change
any InnoDB
tables yet. Otherwise, when you next restart the server, InnoDB
reinitializes the partition and your changes are lost. (As a safety
measure InnoDB
prevents users from modifying data when any partition with newraw
is specified.)
After InnoDB
has initialized the new partition, stop the server, change newraw
in the data file specification to raw
:
[mysqld]innodb_data_home_dir=innodb_data_file_path=/dev/hdd1:3Graw;/dev/hdd2:2Graw
Then restart the server and InnoDB
permits changes to be made.
On Windows, you can allocate a disk partition as a data file like this:
[mysqld]innodb_data_home_dir=innodb_data_file_path=//./D::10Gnewraw
The //./
corresponds to the Windows syntax of \\.\
for accessing physical drives.
When you use a raw disk partition, ensure that the user ID that runs the MySQL server has read and write
privileges for that partition. For example, if you run the server as the mysql
user, the partition must be readable and writeable by mysql
. If you run the server
with the --memlock
option, the server must be run as root
,
so the partition must be readable and writeable by root
.