Mysql 5.7 rpm&二进制&源码编译安装

Mysql 版本选择及下载

当用户计划安装一套MySQL数据库软件时,首先要做的事情通常是去官网下载对应的软件安装包,并在Linux或Windows等主流操作系统平台上实施部署(具体操作步骤可参考官方文档)。在安装之前,强烈建议大家一定要先行确认数据库软件与平台版本的兼容性认证。图5-1所示的是MySQL与操作系统兼容性认证的列表。

Mysql 5.7 rpm&二进制&源码编译安装_第1张图片

注意:软件安装之前进行版本认证,可以尽量避免安装错误、未知Bug等一些比较棘手的问题,详情请参考官方说明https://www.mysql.com/support/supportedplatforms/database.html。

多种平台均可支持MySQL的部署和安装,如Windows、MacOS、Solaris,以及Linux的各种分支或衍生版本。用户也能从MySQL官网上直观地看到这些信息。MySQL支持的操作系统如图5-2所示。

Mysql 5.7 rpm&二进制&源码编译安装_第2张图片

在官网:http://dev.mysql.com/downloads/mysql/中,选择版本进行下载。官网中相应地有三种方式对应的下载链接,其中源码安装,对应"Source Code";二进制安装对应"Linux - Generic",rpm安装则对应于"Red Hat Enterprise Linux / Oracle Linux",如下图所示,

Mysql 5.7 rpm&二进制&源码编译安装_第3张图片 

注意:下载完成后记得校验MD5值,防止安装介质损坏。

历史MySQL版本可以在https://downloads.mysql.com/archives/community/中下载,最早版本只能看到5.0.15。

操作系统基础配置

1.关闭系统防火墙和禁用SELINUX策略

1)关闭并禁用系统防火墙,命令如下:

shell> systemctl status firewalld|grep -i "Active:"

   Active: active (running) since Thu 2019-10-10 16:59:58 CST; 1 day 18h ago

shell> systemctl stop firewalld

shell> systemctl disable firewalld

2)禁用SELINUX策略,需要重启之后才能生效,也可以使用setenforce命令临时关闭SELINUX,命令如下:

shell> cat /etc/selinux/config|egrep -i "SELINUX=e|SELINUX=p|SELINUX=d"

SELINUX=enforcing

shell> sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

shell> setenforce 0

2.检查CPU、内存和磁盘空间

凡事预则立,不预则废。本着对生产系统运行环境负责的态度,在部署环境之前,我们应全面掌握主机的CPU、内存、网络和I/O等硬件配置情况。

检查主机的CPU物理颗数、核数和逻辑线程数:

shell> cat /proc/cpuinfo|grep -i "physical id"|sort|uniq

shell> cat /proc/cpuinfo|grep -i "cores"|uniq

shell> cat /proc/cpuinfo|grep -i "processor"

检查内存和swap交换空间的配置及使用情况:

shell> cat /proc/meminfo|egrep -i "MemTotal|MemFree|MemAvailable|SwapTotal|SwapFree"

shell> free -m

检查磁盘空间配置:

建议存放数据的文件系统格式使用xfs,这种格式比早期的ext4、ext3具有更好的可管理性和可扩展性。

shell> df -hP

3.检查系统时间和时区

shell> date +"%Y-%m-%d %H:%M:%S"

shell> timedatectl|grep -i "Time zone"

配置ntp时钟同步服务。

4.设置mysql系统账户资源限制

1)设置mysql系统账户资源限制,命令如下:

shell> vi /etc/security/limits.conf

mysql   soft    nproc    2047

mysql   hard    nproc    16384

mysql   soft    nofile   1024

mysql   hard    nofile   65536

2)联机动态生效资源限制,命令如下:

shell> ulimit -Sn 1024

shell> ulimit -Hn 65536

shell> ulimit -Su 2047

shell> ulimit -Hu 16384

注意:mysql系统账户资源限制若要动态生效,则需要使用su命令切入mysql,因此该操作能否成功取决于它的登录shell(命令解析器)。当登录shell为/bin/false或/sbin/nologin时,就意味无法动态生效,建议将其修改为/bin/bash后再进行尝试。用户可以检查/etc/passwd文件,以确认mysql的登录shell。

3)检查资源限制的生效情况,命令如下:

shell> ulimit -a -S|egrep -i "open files|max user processes"

open files                      (-n) 1024

max user processes              (-u) 2047

shell> ulimit -a -H|egrep -i "open files|max user processes"

open files                      (-n) 65536

max user processes              (-u) 16384

4)修改Linux内核中的资源限制。

注意:主机账户资源配置,还依赖于操作系统内核的限制,用户需要确保账户的资源限制值不得超过系统内核的阈值,否则即使将资源限制值设置得再高,实际上也不会生效。如果一定要为账户配置一个很大的限制值,那么请先将对应的内核选项的阈值调大。修改操作系统内核,需要编辑/etc/sysctl.conf文件,并使用sysctl -p命令使之动态生效:

shell> sysctl -a|egrep -w "fs.file-max|kernel.pid_max"

fs.file-max = 807099

kernel.pi

你可能感兴趣的:(Mysql,mysql,数据库,linux)