首页  >  文章  >  数据库  >  Linux UDEV和为MySQL InnoDB共享表空间配置裸设备_MySQL

Linux UDEV和为MySQL InnoDB共享表空间配置裸设备_MySQL

WBOY
WBOY原创
2016-06-01 13:31:49848浏览

bitsCN.com

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无法开启

     官网描述如下:

[plain] 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 报警如下:

[plain] 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条目、

[plain] [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"  

 


bitsCN.com
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn