• ADADADADAD

    MySQL生产环境最优的配置实战[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:57:03

    作者:文/会员上传

    简介:

    操作系统环境配置(生产环境最优的配置)4.1 hostsecho "192.168.1.51db1" >>/etc/hostscat /etc/hosts4.2 配置英文环境echo "export LANG=en_US " >> ~/.bash_profilecat ~/.b

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

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

    4.2 配置英文环境echo "export LANG=en_US " >> ~/.bash_profilecat ~/.bash_profile4.3 修改资源参数

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

    softnproc 65535hardnproc 65535soft nofile65535hard nofile65535soft stack 65535hard 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/sdb100g
    /dev/sdc110g

    #数据库建议做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
    vgsvgdisplay
    lvslvdisplay

    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

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

    将本文的Word文档下载到电脑

    推荐度:

    下载