[toc] 开始MySQL相关方面的东西 今天是关于MySQL的安装 系统为 redhat 6.10 数据库为MySQL 5.7.21 PS:目前最新版本为MySQL 5.7.25 这次为第一部分,及环境的准备,和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安装前的准备就到这了,下节为如何安装