1.名词注释:
a.裸设备:是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊类型的块设备文件,允许以直接访问硬盘的方式访问一个存储设备,而不经过操作系统的高速缓存和缓冲器。裸设备可以绑定一个分区,也可以绑定一个磁盘。
应用程序如数据库可以直接使用裸设备,来管理数据的缓存方式,而不将这些任务推给操作系统。
b.字符设备:对字符设备的读写不需要通过系统的buffer。不可被文件系统mount。
c.块设备:对块设备的读写需要通过系统的buffer。可以被mount到文件系统中。
2.linux下创建裸设备
a.创建pv
# pvcreate /dev/sda
b.创建vg
# vgcreate VolGroup00 /dev/sda
c.创建lv
# lvcreate –L 2G –n lv_mydata VolGroup00
3.linux下绑定裸设备
a.方式一:
raw /dev/raw/raw[n] /dev/<blockdev>
n的范围是0-8191。执行完会在/dev/raw/目录下生成一个对应的raw[n]文件。通过raw命令绑定的裸设备在系统重启后会失效。
# raw /dev/raw/raw1 /dev/VolGroup00/lv_mydata
/dev/raw/raw1:  bound to major 253, minor 2
/dev/raw/raw1是裸设备名称,这个名不能随便改变的,否则会出错。如需要改动使用ln来创建链接。
b.方式二:
修改/etc/sysconfig/rawdevices配置文件,在文件中加入以下内容,每个裸设备一行。
/dev/raw/raw1 /dev/VolGroup00/lv_mydata
或/dev/raw/raw1 253 2
# service rawdevices start
Assigning devices:
/dev/raw/raw1  –>   /dev/VolGroup00/lv_mydata
/dev/raw/raw1:  bound to major 253, minor 2
done
# chkconfig rawdevices on
4.更改权限
# chown mysql.mysql /dev/mapper/VolGroup00-lv_mydata
权限不对会报错:
110325 12:54:13  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /dev/mapper/VolGroup00-lv_mydata
5.MySQL使用裸设备
MyISAM存储引擎只能缓存索引,不能缓存数据文件,因此操作系统的IO性能对MyISAM表的存取速率至关重要。InnoDB存储引擎不仅可以缓存索引还可以缓存数据。因此可以使用裸设备来存储InnoDB的共享表空间,这样就不再需要文件系统的开销,从而提高性能。
InnoDB的表空间分为两种:一种是共享表空间,使用ibdata文件来存放数据,所有表和索引数据被存放在同一个表空间,通过innodb_data_file_path来指定;另一种是独享表空间,每个表的数据和索引被存放在一个单独的.ibd文件中。共享表空间是必须存在的,Innodb的undo信息和其他一些元数据信息是存放在共享表空间里面的。
如果将独享表空间存储在裸设备上,那么每个表是一个裸设备,这样裸设备的数量将会是很大的。共享表空间不会出现这个问题的。下面是把共享表空间存储在裸设备上:
a.在mysql配置文件中,增加裸设备文件名并指定newraw属性
[mysqld]
innodb_data_home_dir =
innodb_data_file_path = /dev/mapper/VolGroup00-lv_mydata:2Gnewraw
b.初始化裸设备
重启mysql服务,待其完成分区初始化工作后,再关闭mysql服务。此阶段不能创建更改InnoDB表,否则再重启服务时更改的内容丢失。当用newraw指定任何分区时,InnoDB会阻止用户修改数据。
c.修改newraw属性
[mysqld]
innodb_data_home_dir =
innodb_data_file_path = /dev/mapper/VolGroup00-lv_mydata:2Graw
d.再重启mysql服务
服务正常启动后,就可以正常使用了。

转载于:https://blog.51cto.com/sx521/774798

MySQL使用裸设备相关推荐

  1. mysql使用裸设备_请教dd清空裸设备问题

    重装RAC的时候要清空Votedisk和OCR Disk 这两个裸设备 用dd命令清空时该怎么写这个命令 当时这两个磁盘是这么做的 fdisk -l Disk /dev/sdb: 106 MB, 10 ...

  2. linux mysql 共享存储空间_Linux UDEV和为MySQL InnoDB共享表空间配置裸设备

    ⑴ UDEV 基础 udev 可管理保存在/dev 目录下的文件.文件只有在接入相应设备后才会生成.设备被拔出后自动删除 它还允许用户添加规则.以便修改/dev中默认的名称和权限.规则保存在/etc/ ...

  3. mysql 裸设备_Mysql5.5使用裸设备存储

    Mysql的innodb支持把表和索引存储在裸设备中,存储的I/O等待问题一直是影响数据库性能的关键,裸设备不需要经过文件系统I/O处理,因而在性能上有一定的提升,在使用rhel中的kvm虚拟机的时候 ...

  4. Redhat 中裸设备(raw) 的配置和oracle中使用

    1.对磁盘进行分区 fdisk -l 查看磁盘情况 fdisk /dev/sdb 进行分区操作 2.配置裸设备(修改/etc/udev/rules.d/60-raw.rules文件) 在redhat5 ...

  5. linux 裸设备 逻辑卷,Linux通过逻辑卷使用裸设备

    本文不涉及基础概念,只是简单列一下Linux上创建lvm裸设备的步骤,以供查阅.各个命令的参数可以通过man获得. (一)创建裸设备 1.用fdisk命令为磁盘阵列划分区(如sdc1,sdc2.... ...

  6. ORACLE11g中创建裸设备

    1.什么是裸设备 裸设备是未经格式化.也未被挂载的磁盘分区,不能由操作系统的文件访问,而只能有应用程序自身负责如何访问裸分区,读写裸设备不会被操作系统缓存.裸设备主要用于提高I/O效率. 2.创建裸设 ...

  7. 搭建oracleRAC详解(裸设备)

    为什么80%的码农都做不了架构师?>>>    理清思路先   设备,一个笔记本,两台redhat5的虚拟机(32bit),两个虚拟机都安装过oracle,配置好一些安装的必要条件了 ...

  8. INNODB在裸设备上的性能简单测试

    INNODB在裸设备上的性能简单测试     裸设备简单测试 2009年4月28日 我这里用的SUN VBOX以及SUPER-SMACK来得到的数据. 至于SUPER-SMACK的介绍参见我以前的文章 ...

  9. linux裸设备文件系统,Linux当中的文件系统

    1. 设备专用文件(设备文件) 设备专用文件与系统的某个设备相对应.在内核中,每种设备类型都有阈值向对应的设备驱动程序,用来处理设备的所有I/O请求.可以将设备划分为字符设备和块设备两种. 每个设备文 ...

最新文章

  1. Python 判断当前数值的类型(比如x=10 获取x的类型)
  2. 用html通过python调用mysql_HTTP协议与使用Python获取数据并写入MySQL
  3. 1.6 去除字符串中的空格(trim())
  4. SpringAop @AfterThrowing通知中获取异常信息并且在控制台打印
  5. iOS 网络输入流提供请求体(适用于大容量内容)
  6. OpenStack安装Neutron组件最后进行验证后发现Metadata agent ct节点不显示
  7. 互联网人理想假期VS现实假期
  8. crash分析中有用的管道命令
  9. opencv 打印文字_如何使用OpenCV+Python去除手机拍摄文本底色
  10. 丽江,是否一群失意的人聚合地
  11. mysql忘记密码重新设置步骤详解
  12. 开源又好用的录屏软件
  13. ie浏览器当前的安全设置使计算机面临风险,IE安全设置
  14. linux 录制视频mp4,Kazam下载使用:优秀的Linux截图与屏幕视频录制软件
  15. 标定方法——张正友标定法
  16. Python脚本提取氨基酸序列的 因子复杂度
  17. 【最佳实践】行云管家数据库运维审计解决方案
  18. word快捷键复制粘贴无法使用
  19. Datatable转为ListT / DataRow转为实体类对象
  20. 满足5G无线基础设施的故障安全要求

热门文章

  1. 【js】获得项目路径
  2. Ext JS 5 beta版发布
  3. 如何编辑ttf字体文件
  4. 咖啡豆(JavaBean)•香
  5. eclipse源服务器未能找到,eclipse - HTTP状态[404]? [未找到](原始服务器未找到当前表示) - 堆栈内存溢出...
  6. 7开启uasp协议_【环海解读】新版通关无纸化协议签约amp;报关代理委托发起和确认操作流程...
  7. mysql数据库优先_MySQL数据库配置文件之优先级
  8. mysql使用 CONCAT(字段,字段) 函数拼接
  9. java 负数存储结构_负数在java中的存储和读取过程 | 学步园
  10. 操作系统:Linux 环境变量配置的 6 种方法!