MySQL数据库服务器安装标准

MySQL数据库服务器安装标准

(1).BIOS优化,阵列配置

   1.1:关闭CPU节能,因为服务器品牌众多,BIOS设置不相同,主要是关闭CPU节能,如C1,DELLR730,已经智能设置,直接有个performance选项,帮你关闭了CPU节能,numa特性

   1.2:果服务器是8块硬盘,建议两块做RAID1装系统,剩余6块做RAID10做数据分区,RAID1阵列缓存设置成 WriteThrough ,RAID10设置成writeback,将有限阵列卡缓存给RAID10阵列用,如果是8块以上的盘,组建两组RAID10,两组缓存策略都是writeback,一组装系统以及存放顺序IO类型的数据,比如redolog,归档日志,mysql的binlog,一组做数据分区

   1.3:使用XFS文件系统,数据分区用XFS文件系统,挂载参数用defaults,noatime,nodiratime,nobarrier,记住根分区是不能用这个挂载参数,不然你根分区下的目录文件都没有访问时间,修改时间,只能用于数据库文件分区

   1.4:修改IO调度策略以及关闭numa:vim /etc/grub.conf 在kernel那行最末尾加上elevtor=deadline numa=off

kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=af13b3dc-c142-42b7-8ed6-cb7c60608af2 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet elevator=deadline numa=off

要当前生效可以这样设置

cat /sys/block/sda/queue/scheduler
echo deadline > /sys/block/sda/queue/scheduler

 

 

(2)操作系统基础优化

 2.1:关闭selinux,修改资源配置

vim /etc/security/limits.conf

添加以下这段
 *               soft nofile          65535
 *               soft nproc           65535
 *                hard nofile         65535
 *                hard nproc          65535

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

当前设置selinux 和资源限制, setenforce 0 然后在getenforce 查看是否已经禁用了selinux,设置资源限制,直接ulimit -n 65535

2.2:关闭不需要的服务,只留下crond,network,rsyslog,sshd ,sysstat,udev-post

2.3:内核参数调整

#########减少swap的使用率建议5-10,不建议设置成0,以免发生oom,如果高可用做的好,设置成0,直接让OOM,因为使用swap,MySQL基本不可使用了
vm.swappiness=10
######确保能持续将脏数据刷新到磁盘,避免瞬间I/O写,产生严重等待和设置MySQL中的innodb_max_dirty_pages_pct低一点原理类似
vm.dirty_ratio=20
vm.dirty_background_ratio=10
#######################减少TIME_WAIT,提高TCP效率;
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1

(3)安装jemalloc内存管理器

jemalloc内存分配方式与系统默认安装的glic的malloc内存分配方式相比,能提高MySQL的性能,降低了系统CPU和内存资源的利用,关于这方便的压测数据,请参考:http://www.linuxeye.com/Linux/1914.html

http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2

编译安装很简单,tar xvf jemalloc-3.6.0.tar.bz2  ./configure && make && make install

已方便安装好mysql后使用,使用也很简单在[mysqld_safe] 加上malloc-lib= /usr/local/lib/libjemalloc.so

 (4)安装异步IO支持

为了提高磁盘操作性能,当前的数据库系统都采用异步IO(Asynchronous IO,AIO)的方式来处理磁盘操作。InnoDB存储引擎亦是如此。
在InnoDB1.1.x之前,AIO的实现通过InnoDB存储引擎中的代码来模拟实现。而从InnoDB 1.1.x开始(InnoDB Plugin不支持),
提供了内核级别AIO的支持,称为Native AIO。因此在编译或者运行该版本MySQL时,需要libaio库的支持,centos最小化安装默认是没有安装的,安装也简单:

yum install libaio-devel

你可能感兴趣的:(mysql)