今天是关于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。

vi /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" 

service ntpd restart

chkconfig ntpd on

配置NTP服务

# vi /etc/ntp.conf

server  <NTP_SERVER_ADDR>         iburst

停止NTP服务,手动同步时间。

service ntpd stop

ntpdate -b <NTP_SERVER_ADDR>

service ntpd start

时钟写回主板

hwclock --systohc

hwclock;date

2.2 redhat 7

使用Chrony服务

vi /etc/chrony.conf

server  <NTP_SERVER_ADDR>         iburst

重启时间同步服务:

systemctl restart chronyd.service

systemctl enable chronyd.service

查看时间同步源:

chronyc sources -v

时钟写回主板

hwclock --systohc

hwclock;date

3. 网络设置

#vi /etc/hosts

127.0.0.1                        localhost

<IP ADDRESS>    <hostname>

4. 配置Limits

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
cat>>/etc/security/limits.d/90-nproc.conf<<EOF

mysql soft nproc 4095

mysql hard nproc 16384

EOF

5.禁用防火墙

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

如默认值比较大 请保持默认值

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. 根据需求可不加

# vi /etc/rc.local

echo 512 > /sys/block/sda/queue/nr_requests

# chmod +x /etc/rc.local

8. 文件系统配置

添加noatime,nodiratime选项 根据需求可不添加

# vi /etc/fstab

/dev/mapper/centos-app   /app  xfs    defaults,noatime,nodiratime      0 0

重新挂载后确认

# mount|grep noatime

/dev/mapper/centos-app on /app type xfs 

(rw,noatime,nodiratime,attr2,inode64,noquota)

9. 重启系统

reboot

好了 MySQL安装前的准备就到这了,下节为如何安装