下载中心 | 网站地图 | 站内搜索 | 加入收藏

安恒公司 / 技术文章 / 安恒公司网管员手记 / 利用内存磁盘加速mysql --安恒网管员手记

2006-06-26 刘世伟  阅:    下页:
利用内存磁盘加速mysql --安恒网管员手记

linux下shm是一种完美的内存磁盘虚拟技术, 你可以指定一个shm盘的大小, 但实际的占用不会固定为设置的大小,而是随着里面文件的大小,占用相应的宝贵的mem空间. 这些mem在也会在必要时被系统交换到硬盘上面去. 下面是使用shm虚拟存储将mysql的库运行在内存中的一个实例.

debian在默认下,/dev/shm建立虚拟存储,在/etc/default/tmpfs文件中可以修改shm的大小.

或者用命令 mount tmpfs /dev/shm -t tmpfs -o size=128m来建立shm虚拟存储.

好了,我们首先建立/dev/shm/php4 用于php的session 和tmp目录, 修改它的用户和组为www-data,以及访问权限700 修改php.ini让它们指向/dev/shm/php4. 还要修改apache2的启动脚本,让apache2启动之前,检查/dev/shm/php4是否存在,并建立.


mysql 的存储目录在/var/lib/mysql,一个库一个文件目录,如果只想让某些库运行在内存中,可以把相应目录用符号联接的方式,放到/dev/shm,

还有数据的备份和恢复,因为shm在关机后会丢失.所以应该在mysql的启动脚本,建立shm下的目录,并从备份复制文件到shm,在关闭脚本中,应该复制shm的数据到备份目录.

以anheng这个表为例,首先关闭mysql,以便直接操作/var/lib/mysql的文件,
关闭mysql
/etc/init.d/mysql stop
开备份目录/var/lib/mysql/anheng0
mkdir /var/lib/mysql/anheng0
chown mysql:mysql /var/lib/mysql/anheng0
chmod 770 /var/lib/mysql/anheng0
复制数据
cp /var/lib/mysql/anheng/* /var/lib/mysql/anheng0
chown mysql:mysql /var/lib/mysql/anheng0/*
chmod 770 /var/lib/mysql/anheng0/*
移动所有的数据到shm
mv /var/mysql/anheng /dev/shm/anheng
建立符号联接
ln -s /dev/shm/anheng /var/lib/mysql/anheng
启动mysql
/etc/init.d/mysql start
下一步修改/etc/init.d/mysql在启动部分最前面增加shm开目录和复制,要保证在mysql启动之前进行复制
if [ ! -e /dev/shm/anheng ]
then
echo mkdir /dev/shm/anheng
mkdir /dev/shm/anheng
chown mysql:mysql /dev/shm/anheng
chmod 770 /dev/shm/anheng
cp /var/lib/mysql/anheng0/* /dev/shm/anheng
chown mysql:mysql /dev/shm/anheng/*
chmod 660 /dev/shm/anheng/*

fi
在关闭部分最后面增加备份shm的脚本,要保证关闭之后再复制
cp /dev/shm/anheng/* /var/lib/mysql/anheng0
chown mysql:mysql /var/lib/mysql/anheng/*
chmod 660 /var/lib/mysql/anheng/*

还要增加定时任务,定时用mysqldump从anheng库向anheng0库覆盖数据.防止突然关机造成的数据丢失.
如果有一台远程的mysql服务器,对anheng库进行热备份,就更完美了.具体配置方式在 mysql热备份

下页:   

相关文章
linux下使用ssd - 11-03-10 - 阅读: 236345
关于EtherScope II系列网络通Linux系统的几个常见问题(ES2-LAN,ES2-WLAN,ES2-PRO,ES2-LAN-SX/I,ES2-PRO-SX - 10-02-25 - 阅读: 187424
在linux下用bt协议修复远程的文件 - 09-03-13 - 阅读: 148018
快速得到mysql的历史数据状态 - 09-01-02 - 阅读: 108554
linux下利用badblocks程序在线修复坏道 - 08-12-26 - 阅读: 179482
ezmlm邮件列表使用mysql方式管理帐号 - 08-11-20 - 阅读: 138856
Hp 激光打印机 P1008在linux下的驱动 - 08-01-16 - 阅读: 215227
linux下的视频设备的复用 - 07-12-21 - 阅读: 142256
多款设备采用Qtopia软件,奇趣科技统领VoIP设备Linux开发平台 - 07-12-17 - 阅读: 207378
debian下的无盘linux系统安装要点 - 07-12-09 - 阅读: 181652
mysql的relay-bin - 07-10-16 - 阅读: 142372
mysql优化[转贴] - 07-10-02 - 阅读: 138051
linux下的后门检查程序rkhunter和杀毒程序clamav - 07-04-22 - 阅读: 272265
mysql数据库的2次灾难恢复实战 - 07-04-14 - 阅读: 175812
linux下读写ntfs分区中文编码问题 - 07-03-11 - 阅读: 205952
linux下的DV磁带视频采集和dvd刻录 - 07-02-13 - 阅读: 201258
linux内核虚拟机 kvm - 07-01-05 - 阅读: 266288
linux下raid5磁盘阵列实施 - 06-03-13 - 阅读: 255188
linux在安恒公司的应用 ---安恒网管员手记 - 06-01-16 - 阅读: 308722
mysql 4.1+ 汉字乱码问题研究 --安恒网管员手记 - 05-09-15 - 阅读: 294554

Email给朋友 打印本文
版权所有·安恒公司 Copyright © 2004   gentoo.anheng.com.cn   All Rights Reserved    
北京市海淀区首体南路9号 主语国际商务中心4号楼8层 (邮编100048) 电话:010-88018877