Linux UDEV和为MySQL InnoDB共享表空间配置裸设备
⑴ UDEV 基础
udev 可管理保存在/dev 目录下的文件、文件只有在接入相应设备后才会生成、设备被拔出后自动删除
它还允许用户添加规则、以便修改/dev中默认的名称和权限、规则保存在/etc/udev/rules.d/目录下
⑵ MySQL 绑定裸设备
只有InnoDB可以用裸设备
优点:绕过了文件系统,读写速度会有提高,并且数据会比较安全、同时降低文件系统负担、也改善系统性能
缺点:太安全了,好多备份工具可能没法用、dd可以考虑
下面介绍如何为mysql共享表空间绑定裸设备
㈠ 制作裸设备
# fdisk /dev/sda
==> /dev/sda5
# partprobe
# fdisk -l
# pvcreate /dev/sda5
# vgcreate -s 16M mysqlvg /dev/sda5
# lvcreate -L 90M -n sharespace mysqlvg
# vim /etc/sysconfig/rawdevices
==> /dev/raw/raw1 /dev/mysqlvg/sharespace
# service rawdevices start
# chkconfig rawdevices on
# chown -R mysql:dba /dev/mapper/mysqlvg-sharespace
㈡ 配置MySQL
① 指定newraw属性
innodb_data_home_dir =
innodb_data_file_path = /dev/mapper/mysqlvg-sharespace:60Mnewraw
② 重启mysql服务,待其完成分区初始化工作后,再关闭mysql服务
③ 修改raw属性
innodb_data_home_dir =
innodb_data_file_path = /dev/mapper/mysqlvg-sharespace:60Mraw
④ 重启mysql服务
如果整个系统重启、裸设备的权限会被回收、导致mysql无法开启
官网描述如下:
will fail after the next reboot, if the /dev-tree is dynamically created by, e.g. udev, a MAKEDEV-script or similar.
After reboot, the device will regain its former permission, typically excluding access by mysql.
alert 报警如下:
130719 20:42:43 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/mysqlvg-sharespace
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
此时可选方案:
1)写个简单的初始化脚本、当重启的时候自动授权
2)配置 udev条目、
[root@odd rules.d]# pwd
/etc/udev/rules.d [root@odd rules.d]# cat 60-raw.rules ACTION=="add", KERNEL=="sda5", GROUP=="dba", MODE=="0660", RUN+="/bin/raw /dev/raw/raw1 %N"
[root@odd rules.d]# cat 65-raw-permissions.rules KERNEL=="sda5", GROUP="dba", MODE="0660"
By WaterBin
2013-07-20
Good LUCK
Linux UDEV和为MySQL InnoDB共享表空间配置裸设备的更多相关文章
- Mysql InnoDB 共享表空间和独立表空间
前言:学习mysql的时候总是习惯性的和oracle数据库进行比较.在学习mysql InnoDB的存储结构的时候也免不了跟oracle进行比较.Oracle的数据存储有表空间.段.区.块.数据文件: ...
- 如何开启 MySQL InnoDB 共享表空间和独立表空间
修改数据库的表空间管理方式 修改my.ini文件的innodb_file_per_table的参数值即可,但是修改不能影响之前已经使用过的共享表空间和独立表空间: innodb_file_per_ta ...
- 【转载】Innodb共享表空间VS独立表空间
http://www.mysqlsupport.cn/innodb%E5%85%B1%E4%BA%AB%E8%A1%A8%E7%A9%BA%E9%97%B4vs%E7%8B%AC%E7%AB%8B%E ...
- [Mysql]Innodb 独立表空间和共享表空间
innodb有2中表空间方式: 共享表空间 和 独立表空间 查询数据的设置: show variables like '%per_table'; 默认是共享表空间,独立表空间在配置文件中添加 inno ...
- mysql之 共享表空间与独立表空间、frm,MYD,MYI.idb,par文件说明
一.共享表空间与独立表空间MySQL5.5默认是共享表空间 ,5.6中,默认是独立表空间. 共享表空间:ibdata1是InnoDB的共享表空间,默认配置是把全部表空间存放到ibdata1中,因此而造 ...
- MySQL InnoDB独立表空间模式的优点和缺点介绍
File-Per-Table的优点: 1.当表删除或者truncate,空间可以被OS回收.2.Truncate table在单个.ibd文件上执行更快.3.可以为每个表指定一个特定存储.优化IO ...
- MySQL如何判别InnoDB表是独立表空间还是共享表空间
InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...
- mysql InnoDB引擎 共享表空间和独立表空间(转载)
PS:innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 1.什么是共享表空间和独占表空 ...
- MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解
一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...
随机推荐
- C#中两个整数相除得到带小数点的结果
有时候需要将两个整数相除,获得带小数点的float类型数.例如一个整数12345,需要变成123.45.常见与串口与硬件通讯,DSP处理浮点型比较麻烦,DSP传递来的温度等数据都以整型的方式传递,串口 ...
- ASP.NET之电子商务系统开发-1(数据列表)
一.前言 首先声明的是,这是我第一个与别人合作的.net项目,另一个人做的是后台管理,我做的前台,这是一个电子商务的系统,主要实现的功能是查看商品以及购物功能. 二.开始 首先看一下我截取的项目部分商 ...
- wamp+thinkphp环境配置
下载wamp并安装,启动wamp,会出现一个小图标,然后点击它——>Start All Services.我点击之后是橙色,不是绿色.绿色代表成功启动.我是IIS占用了80端口的缘故,所以我修改 ...
- (转)经典线程同步 互斥量Mutex
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇一个经典的多线程同步问题> <秒杀多线程第五篇经典线程同步关键段CS> <秒杀多线程第六篇经典线程同步事件Event& ...
- 多线程笔记--原子操作Interlocked系列函数
前面写了一个多线程报数的功能,为了描述方便和代码简洁起见,只输出最后的报数结果来观察程序运行结果.这非常类似一个网站的客户访问统计,每个用户登录用一个线程模拟,线程运行时将一个表示计数的变量递增.程序 ...
- java 写文件解析
import java.io.File; import java.io.FileOutputStream; import java.io.*; public class FileTest { publ ...
- A Byte of Python 笔记(12)python 标准库:sys、os,更多内容
第14章 python 标准库 Python标准库是随Python附带安装的,它包含大量极其有用的模块. sys 模块 sys 模块包含系统对应的功能.如 sys.argv 列表包含命令行参数. # ...
- QT实现拖放文件(有例子,并且图文并茂,非常清楚)
转自:http://my.oschina.net/voler/blog/345722 目录[-] 0. 源代码下载地址 1. 简单文件拖放 2. 复杂文件拖放 3. 通过按钮来完成列表数据的转移 4. ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- VC编程之设置客户区背景图片
在很多系统中出于美观的需要常常要设置背景图片.下面我介绍一种在客户区设置背景图片的简单方法. 1 .将背景bmp 图片导入到工程,资源ID 这里假设为 IDB_BITMAP1 2 .在视图类添加如下代 ...