【MySQL基础】MySQL安装第二弹-Percona5.7安装
MySQL安装第二弹-Percona5.7安装
一.操作系统选择
Centos/RHEL/ORACLE LIUNX 5.X/6.X/7.X x86_64
二.操作系统参数调整
2.1 selinux
[root@localhost ~]# cat /etc/selinux/config
SELINUX=disabled
#
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7861
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7861
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
#open files
#max user processes 每个用户最大processes数量
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
[root@localhost ~]# ulimit -a
open files (-n) 65535
max user processes (-u) 65535
#每个操作系统修改方式可能不一样,参考一个操作系统的官方文档或google一下
2.3 io
iodeadline
echo “deadline” > /sys/block/sdb/queue/scheduler
sdb sda 或者sdc。 /data所在的设备名称
B) 需要加入到 /etc/rc.local 中开启自动加载
2.4系统内核参数修改
vm.swappiness =5 #控制linux物理RAM内存进行SWAP页交换的相对权重
vm.dirty_ratio =5 #脏页占整个内存的比例,开始刷新
vm.dirty_background_ratio = 10 #脏页占程序的百分比 ,开始刷新
2.5
NUMA不适用于跑数据库的场景。它本意是为了提高内存利用率,但实际效果不好,反而可能导致一个CPU的内存尚有剩余,但另一个不够用,发生SWAP的问题,因此建议直接关闭或者修改NUMA的调度机制。
a) 修改/etc/grub.conf,关闭NUMA,重启后生效
/etc/grub.conf 配置文件,在kernel 那行增加一个配置后重启生效,例如:
kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/1elevator=deadlinenuma=off rhgb quiet
b) 修改/etc/init.d/mysql 或者mysqld_safe 脚本,设定启动mysqld进程时的NUMA调度机制,例如:
numactl --interleave=all /usr/local/mysql/bin/mysqld_safe .......
c) BIOS硬件中关闭
#注 a b c 方法中任选其一。
2.6
CPU启用节能模式后,会节约电量,但也可能带来CPU性能下降的问题。因此,CPU的最大性能。
A)BIOS硬件中关闭
# 如果不是非核心业务 并且不繁忙的情况下 可以不用调整
三 MySQL环境
3.1
MySQL
#版本 最新的分支版本 已经
#/usr/local/mysql #MySQL
#/data/mysql{
#/data/mysql{
a) MySQL
useradd mysql -s /sbin/nologin
b) MySQL
tar -zxvf Percona-Server-5.7.19-17-Linux.x86_64.ssl101.tar.gz
c)
[root@localhost local]# ln -s Percona-Server-5.7.19-17-Linux.x86_64.ssl101 mysql
d
e
[root@localhost local]# chown mysql:mysql /data/
[root@localhost local]# chown mysql:mysql /data/* -R
[root@localhost local]# chown mysql:mysql /usr/local/mysql
[root@localhost local]# chown mysql:mysql /usr/local/mysql/* -R
f)
yum groupinstall Development Tools
g)
[client]
port = 3306
socket = /tmp/mysql.sock
[mysql]
prompt="\\u@\\h:\\p [\\d]>
#pager="less -i -n -S"
##tee=/home/mysql/query.log
no-auto-rehash
[mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql3306/data
port = 3306
socket = /tmp/mysql.sock
event_scheduler = 0
binlog_format = row
server-id = 63306
log-bin = /data/mysql3306/log/mysql-bin
#一个最基础的配置文件 ,后续会针对做讲解和配置优化
k
h
j)使用jemalloc 内存分配方式
ln -s /usr/local/mysql/lib/mysql/libjemalloc.so.1 /usr/lib64/libjemalloc.so.1
[mysqld_safe]
malloc-lib=/usr/lib64/libjemalloc.so.1
安装完成
最后更新:2017-09-01 16:02:33