你也可以使用原始磁盘分区作为表空间数据文件。通过使用原始磁盘,你可以在Windows和一些Unix系统上执行non-buffered I/O 而无须文件系统开支,这样可以改善性能
当你创建一个新数据文件之时,你必须在innodb_data_file_path里紧接着数据文件尺寸之后放置 关键字newraw。分区必须至少和你指定的尺寸一样大,注意,在InnoDB中,1MB是1024x1024字节, 但是在磁盘规格中,1MB通常意为1,000,000字节。
[mysqld] innodb_data_home_dir= innodb_data_file_path=/dev/hdd1:3Gnewraw;/dev/hdd2:2Gnewraw
下次你启动服务器之时,InnoDB注意到关键字newraw并初始化新分区。但是仍然并不创建或改变任何InnoDB表。另外,当你重启服务器之时,InnoDB重新初始化分区,你的改变会丢失。(从 3.23.44启动,作为一个安全措施, 当用newraw指定任何分区之时,InnoDB阻止用户修改数据)。
InnoDB初始化新分区之后,停止服务器,在对行的数据文件规格中改变newraw:
[mysqld] innodb_data_home_dir= innodb_data_file_path=/dev/hdd1:5Graw;/dev/hdd2:2Graw
然后重启动服务器,并且InnoDB允许做改变。
在Windows上,你可以象这样分配磁盘分区为一个数据文件:
[mysqld] innodb_data_home_dir= innodb_data_file_path=//./D::10Gnewraw
对于访问物理驱动器,//./ 相当于Windows语法的\\.\ 。
当你使用原始磁盘分区之时,确信它们有允许被用来运行MySQL服务器的帐号读和写访问的许可。