今天是关于MySQL的安装
系统为 CentOS 7.4
数据库为MySQL 8.0.19
这次为第一部分,及环境的准备,和Oracle一样,MySQL的安装也需要一些参数的设置
1. Selinux关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2. 时间同步
2.1 redhat 5/6
需要开启slew time。
代码语言:javascript复制vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
service ntpd restart
chkconfig ntpd on
配置NTP服务
代码语言:javascript复制# vi /etc/ntp.conf
server <NTP_SERVER_ADDR> iburst
停止NTP服务,手动同步时间。
代码语言:javascript复制service ntpd stop
ntpdate -b <NTP_SERVER_ADDR>
service ntpd start
时钟写回主板
代码语言:javascript复制hwclock --systohc
hwclock;date
2.2 redhat 7
使用Chrony服务
代码语言:javascript复制vi /etc/chrony.conf
server <NTP_SERVER_ADDR> iburst
重启时间同步服务:
代码语言:javascript复制systemctl restart chronyd.service
systemctl enable chronyd.service
查看时间同步源:
代码语言:javascript复制chronyc sources -v
时钟写回主板
代码语言:javascript复制hwclock --systohc
hwclock;date
3. 网络设置
代码语言:javascript复制#vi /etc/hosts
127.0.0.1 localhost
<IP ADDRESS> <hostname>
4. 配置Limits
代码语言:javascript复制cat>>/etc/security/limits.conf<<EOF
mysql soft nofile 1024
mysql hard nofile 65536
mysql soft nproc 4095
mysql hard nproc 16384
mysql soft stack 10240
mysql hard stack 32768
EOF
代码语言:javascript复制cat>>/etc/security/limits.d/90-nproc.conf<<EOF
mysql soft nproc 4095
mysql hard nproc 16384
EOF
5.禁用防火墙
代码语言:javascript复制service iptables stop
chkconfig iptables off
service ip6tables stop
chkconfig ip6tables off
6. 系统内核参数
shmmax和shmall的设置 shmmax指的是单个内存段的最大值,单位为bytes shmall指的是能使用的最大内存大小,单位为pages, pages大小可通过 getconf PAGE_SIZE 命令查询,一般操作系统page大小为4096 bytes 如操作系统内存为8G,给80%给Oracle使用,则 kernel.shmmax=(8 * 0.8 * 1024 * 1024 * 1024 )=6871947673 kernel.shmall=kernel.shmmax/4096=1677721
如默认值比较大 请保持默认值
代码语言:javascript复制cat>>/etc/sysctl.conf<<EOF
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
fs.aio-max-nr = 1048576
# vm.min_free_kbytes = 524288
vm.swappiness= 5
# vm.nr_hugepages =1024
# vm.hugetlb_shm_group = 2000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 1024 65500
使其生效
# sysctl -p
7. 加大磁盘队列深度
默认128,可以加大至512. 根据需求可不加
代码语言:javascript复制# vi /etc/rc.local
echo 512 > /sys/block/sda/queue/nr_requests
# chmod x /etc/rc.local
8. 文件系统配置
添加noatime,nodiratime选项 根据需求可不添加
代码语言:javascript复制# vi /etc/fstab
/dev/mapper/centos-app /app xfs defaults,noatime,nodiratime 0 0
重新挂载后确认
代码语言:javascript复制# mount|grep noatime
/dev/mapper/centos-app on /app type xfs
(rw,noatime,nodiratime,attr2,inode64,noquota)
9. 重启系统
reboot
好了 MySQL安装前的准备就到这了,下节为如何安装