##MySQL课程介绍

 

环境准备:

一、centos7系统的安装

任务需求:

  1. 最小化安装一个centos7操作系统,版本为7.3
  2. 安装基础库和开发工具包
  3. 该服务器日后用于安装mysql数据库
  4. 磁盘大小20g,内存至少1G,逻辑卷管理

install_swap1

install_swap2

二、系统基本配置

1. 基本网络配置

1.1 NetworkManager简介

在Red Hat Enterprise Linux 7中,默认的网络服务由NetworkManager(网络管理器)提供,这是一个动态的网络控制和配置守护进程,它试图在可用的时候保持网络设备和连接的活跃和活跃。

1.2 NetworkManager安装启动

2. 配置静态IP地址

环境准备:

  1. 添加一张虚拟网卡,网络模式为仅主机模式
  2. 修改仅主机模式下的子网网段
  3. 重启NetworkManager服务让新添加的网卡自动获取IP地址
2.1 文本工具配置静态IP

ip_configure

2.2 命令工具nmcli配置静态IP

nmcli命令

 

3. 配置主机名

补充了解:

hostnamectl 可用于查询与修改系统主机名以及其他相关设置。 所谓"主机名",其实有三种不同的含义:

"pretty"主机名,仅供人类阅读,可以包含各种特殊字符,且无长度限制。 例如"Lennart's Laptop"(必须是UTF-8编码)。 pretty(易读主机名)、chassis(设备类型)、icon(图标名称)存储在 /etc/machine-info 文件中,详见 machine-info(5) 手册。

"static"主机名,用于在系统启动时设置内核的主机名,仅可包含 "-","a-z","0-9" 字符,且最大不超过64个字符长度。 例如"lennarts-laptop"。此种主机名就是通常所说的"主机名",存储在 /etc/hostname 文件中, 详见 hostname(5) 手册。

"transient"主机名,是从网络配置中获得的 fallback 主机名, 同样仅可包含 "-","a-z","0-9" 字符,且最大不超过64个字符长度。 如果存在"static"主机名且不等于"localhost", 那么将忽略"transient"主机名。

 

4. 配置本地yum源

5. 关闭防火墙和selinux

说明:

在Centos7/Redhat7上如果想使用iptables防火墙的话,还需要安装iptables-services包;否则没有/etc/sysconfig/iptables配置文件。

 

三、Centos6和Centos7主要区别

1. 服务管理程序的区别

1.1 Centos6使用init管理

所有的服务启动脚本通通放置于/etc/init.d/下,基本上都是使用bash shell script所写的脚本,需要启动、关闭、重新启动、观察状态时,可以通过如下命令方式来处理:

1.2 Centos7使用systemd管理

systemd 使用unit分类进行管理!好处如下:

注意:虽然如此,systemd有些地方没有完全取代init,如下:

2. systemd管理的文件目录

基本上, systemd 将过去所谓的服务执行脚本通通称为一个服务单位(unit),而每种服务单位依据功能来区分时,就分类为不同的类型(type)。类型多,如何设置,在哪设置,需要我们掌握。

目录说明
/usr/lib/systemd/system/每个服务最主要的启动脚本设定,类似以前的/etc/init.d底下的文件,rpm包安装后单元文件默认存放位置
/run/systemd/system/系统执行过程中所产生的服务脚本,这里脚本的优先级要比/usr/lib/systemd/system/高
/etc/systemd/system/管理员根据需求所建立的执行脚本,这个目录有点像以前/etc/rc.d/rc5.d/Sxx之类的功能,执行优先序又比/run/systemd/system/

注意:

  1. 系统开机会不会执行某些服务其实是看/etc/systemd/system/ 底下的设定,所以该目录底下就是一大堆软连接文件,链接到/usr/lib/systemd/system/下。
  2. 想要对某个服务进行启动配置修改,应到/usr/lib/systemd/system/下找到相应服务配置文件修改。
  3. 参照官网:Systemd Unit Files Locations

3. systemd的unit类型说明

Available systemd Unit Types

文件名主要功能
*.service服务单元(service unit):主要是系统服务,包括服务器本身所需要的本机服务以及网路服务,经常被使用到的服务大多是这种类型。所以,这也是最常见的类型了。
*.socketsocket单元(socket unit):主要用于进程之间通讯,当有透过此socket文件发送信息要连结服务时,就依据当时的状态将该用户的请求传送到对应的daemon, 若daemon 尚未启动,则启动该daemon 后再传送用户的要求。一般用于本机服务较多,类似xinetd服务。
*.target目标单元(target unit):是一群unit 的集合,比如multi-user.target 其实就是一堆服务的集合,也就是说, 选择执行multi-user.target 就是执行一堆*.service 或*.socket 之类的服务.
*.mount和*.automount挂载单元(mount /automount unit):文件系统挂载相关服务,例如来自网路的自动挂载、NFS网络系统挂载等。
*.path路径单元(path unti):某些服务需要检测特定的目录来提供服务,比如最常见的打印服务,就是通过检测打印队列目录来启动打印功能。

4. systemctl命令管理服务

服务程序管理主要是依赖于/etc/rc.d/init.d/目录下的所有的脚本文件,所以可以使用service调用。

服务程序管理主要是依赖于 /usr/lib/systemd/system/目录下的以.service结尾的unit file文件来管理,我们使用systemctl来调用。

总结:

  1. systemctl对于服务的启动、关闭等管理命令是固定不变的。
  2. 如果不是yum安装的程序,程序的启动、关闭无法被systemd管控,因此就无法使用systemctl来启动,但是我们可以自己编写一个 unit file,实现让systemctl来管理非yum安装的程序。

5. 运行级别

systemctl使用目标target取代了运行级别的概念.

Centos6/RedHat6Centos7/RedHat7
init管理systemd管理
init 0systemctl poweroff
init 1systemctl isolate rescue.target
init 3systemctl isolate multi-user.target
init 5systemctl isolate
init 6systemctl reboot

Centos7中运行级别的设置:

总结: 1. 不管是centos6/rhel6还是centos7/rhel7,如果要使用service或者systemctl命令来启动、停止服务,那么/etc/init.d/或者/usr/lib/systemd/system/下需要有服务相对应的脚本文件或者unit file文件,否则需要自己创建它。 2. 详细信息请看man文档:# man systemd

补充:

RHEL7 关机、重启、挂起、创建快照

课后参考:

systemd介绍

 


1 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。用于描述IP地址和端口,可以用来实现不同计算机之间的通信。
2 其中,0-6代表运行级别;S代表开机启动;K代表开机不启动;xxx为数字代表启动顺序