Techyou labs
文章RSS
评论RSS
登录
真正的爱应该超越生命的长度,心灵的宽度,灵魂的深度
搜索
关于作者
文章分类
Default
Linux/Unix
Database
Cloud
Networking
Security
Programming
最新文章
带你重走 TiDB TPS 提升 1000 倍的性能优化之旅
Unicode 中的 BIDI 双向性算法[转]
在linux中设置优先使用ipv4,而不是ipv6
linux下WPS高分辨率下因字体缩放导致字体发虚的问题
ssh-rsa not in pubkeyacceptedalgorithms问题解答及处理办法 Permission denied (publickey)
在 Ubuntu 22.04 中使用 PipeWire 替换 PulseAudio
MYSQL简单监控指标
deepin-wine6-stable下TIM悄悄崩溃问题
openwrt 设置ipv6地址分配
Redis 实战篇:巧用数据类型实现亿级数据统计
最新评论
renothing: 备注:路由器端优先设置ipv4并不影响客户端的ip...
renothing: 二次反向代理跟你应用程序得处理时间有关系吧?尤其是...
二次反向代理性能很差,怎么优化的?: 我也用nginx 做了个二次反向代理,但是并发连3...
hostyep: 交换链接么?目前每天保持30个左右对口IP,每月都...
yzhkpli: error while loading share...
美肤宝: 感谢分享。。。
lq: 嗯 喜欢弄得点单点
按月归档
March 2023
December 2022
November 2022
September 2022
August 2022
March 2022
January 2022
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
February 2021
September 2020
May 2020
September 2019
August 2019
July 2019
June 2019
May 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
April 2018
March 2018
December 2017
October 2017
September 2017
August 2017
April 2017
March 2017
February 2017
August 2016
July 2015
November 2014
September 2014
August 2014
July 2014
June 2014
July 2013
April 2013
September 2012
July 2012
May 2012
April 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
June 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
September 2008
August 2008
July 2008
June 2008
常用标签
Mysql
nginx
mysql优化
linux
debian
Powered by
Typecho)))
Optimized by
EAimTY
mysql使用裸设备
December 22, 2010
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/
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服务 服务正常启动后,就可以正常使用了。 参考: http://ftp.nchu.edu.tw/MySQL/doc/refman/5.0/en/innodb-raw-devices.html
暂无评论
添加新评论
称呼
Email
网站
取消回复
内容
发表评论