微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL生产环境最优的配置实战

操作系统环境配置(生产环境最优的配置)
4.1 hosts
echo "192.168.1.51 db1" >>/etc/hosts
cat /etc/hosts

4.2 配置英文环境
      echo "export LANG=en_US " >> ~/.bash_profile
      cat ~/.bash_profile

4.3 修改资源参数

nproc,操作系统对用户创建进程数的资源限制
nofile,每个进程能打开文件次数文件描述符),mysql一个进程对多个线程
stack,变量存放的大小(堆大小)
vi /etc/security/limits.conf

  • soft nproc 65535
  • hard nproc 65535
  • soft nofile 65535
  • hard nofile 65535
  • soft stack 65535
  • hard stack 65535
    #ulimit -a
    echo "* - nproc 65535" > /etc/security/limits.d/90-nproc.conf

4.4 设置系统安全策略
1) selinux
vi /etc/selinux/config
SELINUX = disabled

setenforce 0

2)关闭防火墙
---公网,建议要开防火墙,设置比较合理的安全规划,限制外网访问,这是Linux系统管理的工作,但DBA也要会。6.x: iptales ,7.x: firewalld

service itptables stop
chkconfig --level 2345 itptables off

3)控制资源分配限制
echo "session required pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login

4.5 关闭NUMA功能
查看状态
numastat

vi /etc/grub.conf
numa=off

numstat
numactl --show
numactl --hardware

reboot --晚点一起重启

4.6 IO调度算法与IO优化
IO调度算法
cat /sys/block/sd/queue/scheduler
--sas/stat
echo 'deadline' > /sys/block/sd
/queue/scheduler
--ssd
echo 'NOOP' > /sys/block/sd*/queue/scheduler
--减少预读
echo '16' > /sys/block/sdb/queue/read_ahead_kb
echo '16' > /sys/block/sdc/queue/read_ahead_kb

--增大队列
echo '512' > /sys/block/sdb/queue/nr_requests
echo '512' > /sys/block/sdc/queue/nr_requests

--开启后生效
vi /etc/rc.local
echo '512' > /sys/block/sdb/queue/nr_requests
echo '512' > /sys/block/sdc/queue/nr_requests
echo '16' > /sys/block/sdb/queue/read_ahead_kb
echo '16' > /sys/block/sdc/queue/read_ahead_kb

--4.7 虚拟内存与保留内存
vi /etc/sysctl.conf
vm.swappiness=10 --当系统剩下物理内存的10%时,才使用内存交换页
vm.min_free_kbytes=5120 ---测试环境
#vm.min_free_kbytes=512000 --生产环境
sysctl -p

--5 yum源环境配置
mount /dev/sr0 /mnt

cd /etc/yum.repos.d
mkdir bk
mv *.repo bak
vi /etc/yum.repos.d/media.repo
[OEL6]
name=linux 6.9
baseurl=file:///mnt
gpgcheck=0
enabled=1

yum list

--6.准备磁盘与分区 ---最规范的
安装目录:/MysqL/app/MysqL
数据目录:/MysqL/data
日志目录:/MysqL/log
备份目录:/MysqL/backup

LVM
/dev/sdb 100g
/dev/sdc 110g

#数据库建议做raid10
#本地存储方案:
#物理盘尽量做raid10,再创建分区,定时通过FTP
#或同步工具到外置存储。

pvcreate /dev/sdb /dev/sdc
vgcreate MysqLvg /dev/sdb
vgcreate bakvg /dev/sdc
lvcreate -n MysqLlv -L 30G MysqLvg
lvcreate -n datalv -L 30G MysqLvg
lvcreate -n loglv -L 30G MysqLvg
lvcreate -n baklv -L 50G bakvg

pvs
vgs vgdisplay
lvs lvdisplay

mkfs.ext4 /dev/MysqLvg/MysqLlv
mkfs.ext4 /dev/MysqLvg/datalv
mkfs.ext4 /dev/MysqLvg/loglv
mkfs.ext4 /dev/bakvg/baklv

mkdir -p /MysqL/app
mkdir -p /MysqL/log
mkdir -p /MysqL/data
mkdir -p /MysqL/backup

mount /dev/MysqLvg/MysqLlv /MysqL/app
mount /dev/MysqLvg/datalv /MysqL/data
mount /dev/MysqLvg/loglv /MysqL/log
mount /dev/bakvg/baklv /MysqL/backup

df -h

vi /etc/fstab

/dev/MysqLvg/MysqLlv /MysqL/app ext4 defaults 0 0
/dev/MysqLvg/datalv /MysqL/data ext4 defaults 0 0
/dev/MysqLvg/loglv /MysqL/log ext4 defaults 0 0
/dev/bakvg/baklv /MysqL/backup ext4 defaults 0 0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐