3. 对系统表空间使用Raw磁盘分区

3. 对系统表空间使用Raw磁盘分区

可以将raw磁盘分区用作InnoDB系统表空间中的数据文件。此技术可在Windows和某些Linux和Unix系统上启用非缓冲I/O,而无需文件系统开销。使用和不使用raw分区执行测试以验证此更改是否实际上提高了系统性能。

使用raw磁盘分区时,请确保运行MySQL服务器的用户标识具有该分区的读写权限。例如,如果以mysql用户身份运行服务器 ,则该分区上mysql用户必须有可读写的权限。如果使用该–memlock选项运行服务器,则root用户运行服务器r,因此该分区上root用户必须是可读写的。

下面描述的过程涉及选项文件修改。

3.1 在Linux和Unix系统上分配raw磁盘分区

  1. 创建新数据文件时,请在innodb_data_file_path 选项的数据文件大小之后立即指定关键字newraw 。分区必须至少与指定的大小一样大。请注意,1MB in InnoDB 是1024×1024字节,而磁盘规格中的1MB通常意味着1,000,000字节。
[mysqld]
innodb_data_home_dir=
innodb_data_file_path=/dev/hdd1:3Gnewraw;/dev/hdd2:2Gnewraw
  1. 重启服务器。InnoDB注意到 newraw关键字并初始化新分区。但是,不要创建或更改任何 InnoDB表。否则,当您下次重新启动服务器时,InnoDB重新初始化分区并且您的更改将丢失。(作为一种安全措施, InnoDB可防止用户在newraw指定任何分区时修改数据。)

  2. 在InnoDB初始化新分区后,停止服务器,newraw 将数据文件规范更改为raw:

[mysqld]
innodb_data_home_dir=
innodb_data_file_path=/dev/hdd1:3Graw;/dev/hdd2:2Graw
  1. 重启服务器。InnoDB现在允许进行更改。

3.2 在Windows上分配raw磁盘分区

在Windows系统上,适用于Linux和Unix系统的相同步骤和附带指南适用,但innodb_data_file_path Windows上的 设置略有不同。

详细参考官方文档

posted @ 2018-08-13 17:33  DB-Engineer  阅读(326)  评论(0编辑  收藏  举报