day01第一章_Linux_基础讲义

Linux操作系统

1. 计算机入门知识介绍

1.1.  计算机原理

现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是冯将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算。

计算机应包括运算器、储存器、控制器、输入和输出设备五大基本部件。

计算机内部应采用二进制来表示指令和数据,将编好的程序送人内储存器中,然后启动计算机工作,计算机勿需操作人员干预,能自动逐条取出指令和执行指令。

 

1.2. 软件和硬件概述

计算机是由软件和硬件组成

1.3.  硬件

计算机硬件主要由CPU、存储设置、输入输出设备组成。

 

 

1.4. 软件

计算机的软件包括操作系统,系统软件和应用软件。

 

 

1.5. 操作系统概述

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

OS作为计算机系统资源的管理者,主要由以下作用:

l  管理处理器,用于分配和控制处理器

l  管理存储器,主要负责内存的分配与回收

l  管理I/O设备,负责I/O设备的分配与操纵

l  管理文件,负责文件的存取、共享和保护

 

常见操作系统:

操作系统

应用情况

Windows操作系统

应用比较广泛

Linux操作系统

免费使用,类UNIX,一般安装在服务器上面

Unix操作系统

无界面,使用命令操作,一般安装在服务器上面

Mac操作系统

苹果公司开发的,一般PC不能使用

Android操作系统

主要用于智能终端设备

 

2. Linux系统概述和安装

2.1. Linux系统概述

  • Linux创始人: 林纳斯 托瓦兹

 

l  Linux 诞生于1991年,作者上大学期间

l  Linux诞生原因:

因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

l  Linux的特点

开源,免费,拥有最为庞大的源码贡献者

l  Linux的吉祥物

 

  • Linux系统结构

 

 

2.1. Linux发行版介绍

对于Linux操作系统来说,其本身是一个整体,包括Linux内核、系统库和系统程序,Linux内核是其最基础的部分,它实现了对硬件资源的管理,并且提供了使用这些硬件资源的通用接口。

自1991年发布Linux内核来,很多公司加入其中,在内核的基础上构建了自己的操作系统版本,这个被称为Linux的发行版。

 

l  Redhat:目前,全球最大的Linux发行厂商,功能全面、稳定。

l  Redhat 被 IBM 收购!

l  Ubuntu:目前,是Linux桌面操作系统做的最好的。

l  Centos:免费版的redhat,Centos 基于 redhat 发行版基础之上,再重新编译发布的版本。

l  目前 Centos 已经被 Redhat 公司收购,但是依然免费

l  deepin:目前,国内做的最好的一款Linux发行版

2.2. 虚拟机介绍

虚拟机 (Virtual Machine) 指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。

虚拟系统通过生成现有操作系统的全新虚拟镜像, 具有真实操作系统完全一样的功能.进入虚拟系统后, 所有操作都是在这个独立全新的独立的虚拟系统里面进行, 可以独立安装运行软件, 保存数据, 不会对真正的系统产生任何影响

 

常用的虚拟机软件:

VMware

这款虚拟机软件兼容性很强,快照功能很快捷,方便,允许你在任意开机时刻创建系统快照和恢复,十分实用

 

VirtualBox

 

Sun公司的产品,属于轻量级的虚拟机平台,而且是开源的,完整安装包很小,,功能相对也很精简,快照功能这里叫备份和快速修复,在不同的快照间跳转用起来感觉不是很方便,也不能实现文件拖拽的功能

 

2.3.  虚拟机安装

查看资料中 01_安装VMware虚拟机.doc 文档

2.4. Linux系统(CentOS)系统安装

查看 资料中 <<02_安装Centos.doc>>   文档

3.  Linux连接工具CRT使用

查看 03.CRT连接linux.doc

在连接的时候, 建议先在centos中查看ip地址,然后通过CRT连接, 输入对应的用户名和密码即可

 

** 点击连接后根据提示点击确定, 并输入连接密码即可

4. Linux操作命令

4.1.  Linux目录结构介绍

Linux的目录结构是一个树型结构

Windows 系统 可以拥有多个盘符, 如 C盘、D盘、E盘

Linux 没有盘符 这个概念, 只有一个根目录 /, 所有文件都在它下面

 

常用的目录介绍:

目录

作用

/bin

二进制命令所在的目录

/boot

系统引导程序所需要的文件目录

/dev

设备软件目录,磁盘,光驱,

/etc

 系统配置,启动程序

/home

普通用户的家,目录默认数据存放目录

/lib

共享库文件和内核模块存放目录

/mnt

临时挂载储存设备的挂载点

/opt

额外的应用软件包

/proc

操作系统运行时,进程信息和内核信息存放在这里

/root

Linux超级权限用户root的家目录

/sbin

和管理系统相关的命令,【超级管理员用】

/tmp

临时文件目录,这个目录被当作回收站使用

/usr

用户或系统软件应用程序目录

/var

存放系统日志的目录

4.2.  学习Linux终端命令的原因

l  Linux刚面世时并没有图形界面, 所有的操作全靠命令完成, 如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等

l  在职场中,大量的服务器维护工作都是在远程通过SSH客户端 来完成的, 并没有图形界面, 所有的维护工作都需要通过命令来完成

l  在职场中,作为后端程序员,必须要或多或少的掌握一些Linux常用的终端命令

l  Linux发行版本的命令大概有200多个, 但是常用的命令只有10多个而已

 

学习终端命令的技巧

l  不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了

l  不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以

 

4.3.  终端命令格式

command [-options] [parameter]

 

说明:

- command : 命令名, 相应功能的英文单词或单词的缩写

- [-options] : 选项, 可用来对命令进行控制, 也可以省略

- parameter  : 传给命令的参数, 可以是 零个、一个 或者 多个

 

mkdir -p    /aaa/bbb/ccc     /ddd/eee/fff

4.4.  显示文件列表命令

ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一

ls常用选项

如果只使用ls命令就只能看到当前目录下非隐藏 文件。

如果想增强功能,就需要学习更多的选项

选项

含义

-a

显示指定目录下所有子目录与文件, 包含隐藏文件

-l

以列表方式显示文件的详细信息

-h

配合 -l 以人性化的方式显示文件大小

常见使用命令:

ls #查看当前目录内容 (缺点: 隐藏文件看不到)

ls -a #查看当前目录内容 ,包括隐藏文件 

ls -al #查看目录内容的详细信息(查看文件类型、权限、大小等) 

ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小 

ls /root #查看/root目录下内容

ll

4.5.  目录查看、目录创建和目录删除命令(pwd、mkdir、rm/rmdir)

 pwd命令

查看当前所在目录

[root@node1 ~]# pwd

/root

 mkdir命令

该命令用于创建目录

注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名

1)创建没有层级关系的目录

mkdir 目录名

[root@node1 ~]# mkdir test

[root@node1 ~]#

2)创建有层级关 的目录

mkdir -p 目录1/目录2/目录3

[root@node1 ~]# mkdir -p /root/aaa/bbb

[root@node1 ~]#

 rm命令

该命令用于删除文件或者目录

参数解释:

参数

英文

含义

-f

force (强制)

强制删除,忽略不存在的文件或目录, 无需提示

-r

recursive (递归)

递归地删除目录下的内容, 删除目录时必须加此参数

使用方法:

rm -r  目录  #删除目录有提醒

[root@node1 ~]# rm -r test

rm:是否删除目录 "test"?

rm -fr  目录  #直接删除目录(不管有没有内容)

[root@node1 ~]# rm -fr test

[root@node1 ~]#

4.6.  目录切换命令

cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一

注意: linux的所有 目录 和 文件名 都是大小写敏感的

命令

含义

cd

切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名)

cd 目录

切换到指定目录下

cd ..

切换到上级目录

cd -

可以在最近的两次目录之间切换

实例:

cd #回到用户主目录

cd test #切换到当前目录下的test目录(相对路径) 

cd /root/test #切换到指定目录(绝对路径)

cd .. #回到上一级目录 

cd ../.. #回到上上一级目录

cd ../dir #回到上一级的dir目录 

 

4.7. 文件操作命令

4.7.1.  touch命令

touch命令创建文件

touch 文件路径

touch a.txt     #在当前目录创建a.txt文件

touch /root/a.txt  #在/root目录创建a.txt文件

4.7.2.  mv命令

通过mv 命令可以用来移动文件或目录, 也可以给文件或目录重命名

将文件移动另一个目录中

 mv 文件 目录/

[root@node1 ~]# touch a.txt

[root@node1 ~]# mkdir dir

[root@node1 ~]# mv a.tx dir/

[root@node1 ~]# ls dir/

a.txt

 

重命名

mv 旧文件名 新文件名

mv a.txt b.txt #重命名文件 

mv dir1 dir2  #重命名目录

 

将目录移动 到 另一个目录中

mv 被移动目录 目标目录

mv dir1  /

 

l  rm-文件删除命令rm

rm -f  文件名

rm -f a.txt    #强制删除一个文件

4.7.3.  文件浏览命令

l  cat 文件路径

cat /root/initial-setup-ks.cfg

l  more : 分页显示文件内容,还支持直接跳转行等功能

n 语法: more filePath

n 相关操作:

u Enter: 向下n行, 需要定义, 默认为1行

u 空格键: 向下滚动一屏 或 Ctrl + F

u B键 : 返回上一屏 或 Ctrl+B

u q: 退出more

l  less: 分页显示文件内容,操作更详细

n 语法: less[参数] 文件

n 参数:

u -m : 显示类似more 命令的百分比

u -n : 显示每行的行号

n 相关操作:

u 空格键: 前进一页 或 page down

u b : 后退一页 或 page up

u d : 前进半页

u u : 后退半页

u 回车键 : 前进一行 或使用使用方向键向下

u y : 后退一行 或 使用方向键向上

u /字符串 : 向下搜索

u ?字符串 : 向上搜索

u v : 进行vim编辑器

u 左右方向键 : 相当于水平滚动条

u q : 退出

l  tail : 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

n 格式 : tail [参数][文件]

n 参数:

u -n<行数> : 显示的行数

-f : 循环读取

u & 表示后台运行, 否则占用终端

u ctrl+c : 退出

注意: 此命令很重要, 使用此命令可以动态的查看日志文件

4.7.4.  cp命令

cp a.txt dir1  #将a.txt复制到dir1目录

cp a.txt b.txt  #将a.txt复制为b.txt

 

4.8. 压缩和解压命令

参数解释:

参数

解释

-c

创建一个新tar文件

-v

显示运行过程的信息

-f

指定文件名

-z

调用gzip压缩命令进行压缩

-t

查看压缩文件的内容

-x

解开tar文件

 

4.8.1.  解压

tar -zxvf 压缩文件 [-C] [指定解压目录]

示例:

tar -zxvf redis-3.2.8.tar.gz  #将文件解压到当前目录

tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录

4.8.2.  压缩

tar -c[z]vf 压缩文件 目录

tar -cvf  test.tar /root/test     #打包

tar -czvf test.tar.gz /root/test  #打包并压缩

 

4.9. 文件查找命令

4.9.1.  find指令

用于查找符合条件的文件

示例:

find / -name 'ins*' #查找/目录下以文件名ins开头的文件 

find / -type f -size +100M #查找/目录下文件大小大于100M的文件

4.9.2.  grep命令

grep命令可以对文件进行文本查询

grep lang anaconda-ks.cfg #在文件中查找a

grep a anaconda-ks.cfg --color #在文件中查找a,高亮显示

 

4.9.3. which命令

which 查看可执行文件的位置。

which pwd  #查找pwd命令的路径

4.10. 下载命令

l  wget : 进行相关文件的下载

n 格式 : wget 下载链接

n 注意: 使用此命令进行下载, 在那个路径下使用, 就会将文件下载到那个位置

wget http://download.redis.io/releases/redis-4.0.2.tar.gz

4.11.  系统管理命令

4.11.1.  ps命令

ps命令用来列出系统中当前运行的那些进程

ps -ef #查看所有进程

4.11.2.  kill命令

kill命令用于终止执行中的程序

kill -9 12345 #杀死pid为12345的进程

4.11.3.  管道命令

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

 

 

 

ps -ef | grep java #查询名称中包含java的进程

4.11.4.  关机重启

reboot : 重新启动

shutdown -h now : 马上关机(断电关机)

halt : 立刻关机(centos) (不断电关机)

4.12.  用户的创建和删除命令

4.12.1.  用户创建和密码设置

useradd 用户名

passwd  用户名

useradd itheima #创建新用户itheima

passwd  itheima #设置用户itheima密码

4.12.2.  用户删除

user -r 用户名

userdel -r itheima #删除用户itheima

4.13.  权限管理命令(重点)

4.13.1.  文件权限概述

Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在Linux系统中,用户组也有一个ID,GID。

在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。

4.13.2.  文件权限解读

 

文件目录列查看权限

 

权限说明

 

 

 

属主(user)

属组(group)

其他用户

r

w

x

r

w

x

r

w

x

4

2

1

4

2

1

4

2

1

 

r: 对文件是指可读取内容 对目录是可以ls

w: 对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件)

x: 对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录

 

000     0

001    1

010    2

011    3

100    4

101    5

110    6

111     7

4.13.3.  chmod命令

chmod命令用来变更文件或目录的权限。

chmod 666 a.txt

chmod u+x a.txt

chmod u=rwx,g=rw,o=x a.txt

4.14.  网络和服务管理命令

4.14.1. hostname命令

hostname 查看主机名

[root@node1 ~]# hostname

node1

4.14.2.  ifconfig命令

查看主机ip地址

 

4.14.3.  systemctl命令

system ctroller :  systemctl

systemctl 命令是用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

l  语法格式: systemctl 操作 服务名

l  相关语法介绍

服务管理命令

功能

systemctl start 服务名

开启服务

systemctl stop 服务名

关闭服务

systemctl status 服务名

显示服务状态

systemctl enable 服务名

设置开机自启动

systemctl disable 服务名

关闭开机自启动

l  相关操作

systemctl startus network   # 查看网络服务状态 

systemctl stop network     # 停止网络服务

systemctl start network     # 启动网络服务

systemctl restart network   # 重启网络服务

4.15.  其他命令

4.15.1. ln命令

ln命令可以用来创建软连接,类似于创建快捷方式

命令格式:

 ln [参数][源文件或目录][目标文件或目录]

 

实例:

ln -s 2.txt 1.txt

 

 

 

 

 

4.15.2. clear命令

清屏命令,还可以使用快捷方式:ctrl + l

5. vi编辑器

5.1. vi编辑器介绍

vi是visual interface的简称, 是Linux中最经典的文本编辑器

vi的核心设计思想:让程序员的手指始终保持在键盘的 核心区域, 就能完成所有编辑操作

vi的特点:

1.只能是编辑文本内容, 不能对字体段落进行排版

2.不支持鼠标操作

3.没有菜单

4.只有命令

5.2.  vi编辑器使用

vi a.txt #直接打开文件

vi a.txt +10 #直接打开文件,并定位到第10行

 

Vi编辑器三种模式:

1. 命令模式

   - 打开文件首先进入命令模式, 是使用vi的入口

   - 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除

   - 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现

2. 末行模式 -- 执行 保存 退出等操作

   - 要退出 vi 返回到控制台, 需要在莫行模式下输入命令

   - 末行模式 是 vi 的出口

3. 编辑模式 -- 正常的编辑文字

 

 

5.3.  命令行模式常用命令

命令

功能

o

在当前行后面插入一空行

O

在当前行前面插入一空行

dd

删除光标所在行

ndd

从光标位置向下连续删除 n 行

yy

复制光标所在行

nyy

从光标位置向下连续复制n行

p

粘贴

u

撤销上一次命令

gg

回到文件顶部

G

回到文件末尾

/str

查找str

 

5.4. 底行模式常用命令

命令

功能

:w 文件

另存为

:w

保存(ctrl + s)

:q

退出, 如果没有保存,不允许退出

:q!

强行退出, 不保存退出

:wq

保存并退出

:x

保存并退出

:set nu 

设置行号

:%s/旧文本/新文本/g

 文本替换

6. 虚拟机网络配置

6.1. 网卡信息说明

l  查看网卡配置 : cat /etc/sysconfig/network-scripts/ifcfg-ens33

l  概要信息如下

DEVICE=eth0                 #网卡名称

TYPE=Ethernet                #网卡类型

ONBOOT=yes                 #是否开机启动网卡

BOOTPROTO=static            #静态获取IP,其他取值:dhcp (如果设置dhcp下面内容不需要)

IPADDR=192.168.44.100        #ip地址

GATEWAY=192.168.44.2        #网关

NETMASK=255.255.255.0          #子网掩码

6.2.  VMware 网卡配置

6.2.1. 桥接模式

需要依赖外部网络环境,虚拟机的ip必须和宿主机(windows)的ip是同一个网段。开发环境下可能会使用, 学习环境不用, 类似于虚拟机和主机就好比插在同一台交换机上的两台电脑

 

6.2.2. NAT模式

如果主机能够正常上网,那么虚拟机也能够直接上网。此时虚拟机处于一个新的网段内,由VMware提供的DHCP服务自动分配IP地址,然后通过VMware提供的NAT服务,共享主机实现上网, 不依赖外部网络环境

 

NAT设置方式: 请在做完6.3以后 在回头来做

l  1) 查看VMware相关服务是否全部启动

 

l  2) 打开VMware, 选择虚拟网络编辑器

 

 

l  3)打开编辑器, 选择NAT模式

 

处理完成后, 还需要修改一个window中对应vmware网卡的设置:

 

 

 

 

 

6.2.3. 仅主机模式

仅主机模式和NAT模式是类似的, 只需要记住仅主机模式是无法进行上网的

 

6.3. 虚拟机静态ip配置

为什么要设置静态ip ?

答: 设置为静态ip后, 当前虚拟机的ip地址就不会在发生改变, 如果设置为DHCP, 那么每一次开机时的ip都是有可能不同的, 这样就会导致每次远程连接都需要查看ip地址, 后期配置集群相关的内容时首要的要求就是ip必须为静态, 否则由于无法得到一个准确的ip地址,集群也是构建不了的

设置方案:

l  1)  修改ip配置文件,设置IP地址

 vim /etc/sysconfig/network-scripts/ifcfg-ens33

l  2)  修改配置文件如下: 注意红色为需要修改的地方

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="dfd8991d-799e-46b2-aaf0-ed2c95098d58"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.88.161"

GATEWAY="192.168.88.2"

NETMASK="255.255.255.0"

DNS1="8.8.8.8"

DNS2="114.114.114.114"

IPV6_PRIVACY="no"

l  3) 重启网络服务: 一旦重启后, 此时CRT无法连接, 需要重新按照新的IP连接虚拟机

systemctl restart network 

l  4) 查看ip:

Ifconfig

 

l  5) 测试网络

ping www.baidu.com

 

7. Linux防火墙的操作

l  防火墙操作命令说明

命令

作用

systemctl status firewalld

查看防火墙的状态

systemctl start firewalld

开启防火墙

systemctl stop firewalld

关闭防火墙(当前有效, 重启后无效)

systemctl enable firewalld

让防火墙在开机的时候自启

systemctl disable firewalld

让防火墙在开机的时候不要自启 (下次启动有效)

 

注意:在实际工作当中,大数据集群一般都是放置在内网当中,通过跳板机进行连接,所以一般都是直接关闭防火墙即可,但是在实际工作中,web服务器关闭防火墙一定要谨慎,避免服务器感染病毒

 

l  在大数据环境下, 建议linux深层防火墙selinux也一并关闭

n  1) 关闭虚拟机的防火墙

systemctl stop firewalld

systemctl disable firewalld

 关闭之后,查看防火墙状态:

systemctl status firewalld

 

n  2)关闭每台虚拟机的Selinux

1)什么是SELinux ?

   SELinux是Linux的一种安全子系统

   Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程,  则这个进程可以操作任何一个文件。

   SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源

2)为什么要关闭SELinux

如果开启了SELinux, 需要做非常复杂的配置, 才能正常使用系统, 在学习阶段, 在非生产环境, 一般不使用SELinux

 

SELinux的工作模式:

  enforcing 强制模式

  permissive 宽容模式

  disabled 关闭

u 编辑虚拟机selinux配置

vim /etc/selinux/config

       

 

u  重启虚拟机

reboot

8. 文件上传

文件上传有多种方式, 此处介绍常用的二种方式

 

l  第一种上传方式: 基于CRT 的 alt + p

 

在此窗口下, 可以通过cd 切换到想要上传的目录下

 

 

直接将需要上传的文件, 直接拖拽到窗口下, 即可完成上传工作

l  第二种上传方式: 使用linux的上传工具进行上传

1) 安装上传工具 : 使用yum进行联网下载软件并安装

yum -y install lrzsz

2) 使用方式:

2.1) 输入上传命令: rz  弹出上传框

 

2.2) 选择对应文件, 点击ok进行上传

 

 

上传后文件存储在什么位置上?

    答: 在那个目录下输入的rz, 就会将文件存储到那个目录下

 

 

9. Linux中安装相关的软件

9.1. Linux上安装MySQL

注:需要连接互联网,在线 mysql 的安装包,5.6 的版本大约 86M

9.1.1. MySQL在线下载安装

 

 1) 查看 CentOS 是否自带的 MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装。

 

如果查询到有内容:  使用  rpm -e --nodeps 要卸载名称

例如:

rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64  

2) 在线获取 CentOS7 的 mysql 的 rpm 安装文件,直接执行如下命令:

 

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

 

这条语句只是下载了一个 rpm 文件,25K 大小

 

3) 执行安装命令:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

 

4) 得到两个配置文件,在/etc/yum.repos.d 目录下。

4.1) mysql-community.repo 用于指定下载哪个版本的安装包

4.2) mysql-community-source.repo 用于指定下载哪个版本的源码

 

5) 修改 MySQL 的下载配置文件

   进入目录命令:

cd /etc/yum.repos.d

编辑配置文件命令:

vim mysql-community.repo

我们下载 MySQL 5.6,把 5.6 下的 enabled 设置为 1,表示下载。

 

把 MySQL8 的下载关闭,将 enabled 设置为 0

 

保存修改退出。

6) 在当前目录/etc/yum.repos.d 下执行下面的命令,开始在线下载:客户端,服务器端,开发的工具包。

在线下载安装命令介绍:yum(全称为 Yellow dog Updater, Modified)

作用:用于自动从服务器上下载相应 的软件包,自动安装,并且自动下载它的依赖包。

 

yum( Yellow dog Updater, Modified)是一个基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且 安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

n  语法说明

 

进行在线下载安装 mysql 命令

yum -y install mysql-community-client mysql-community-server mysql-community-devel

这里需要比较长的时间,要从互联网上下载 86M 左右的内容

 

7) 使用 rpm 命令,可以查询到 mysql 已经安装好的包

 

 

9.1.2.  启动MySQL服务并登陆

1) 启动 mysql 的服务

systemctl start mysqld

2) 将 mysql 加到系统服务中并设置开机启动

systemctl enable mysqld

3) 登录 mysql,root 用户默认没有密码

mysql -uroot

 

4) 在 mysql 中修改自己的密码 : 此处设置为 123456

set password = password('123456');

 

9.1.3.  设置远

程访问权限

1) 开启 mysql 的远程登录权限,默认情况下 mysql 为安全起见,不支持远程登录 mysql,所以需要设置开启,并且刷新权限缓存。远程登录 mysql 的权限登录 mysql 后输入如下命令:

grant all privileges on *.* to 'root'@'%' identified by '123456';

flush privileges;

 

2) 确保防火墙已关闭

 

9.1.4.  客户端windows连接linux中mysql

 

到此mysql安装全部结束

注意:如果希望删除卸载 mysql 执行如下命令

yum -y remove mysql-community-client mysql-community-server mysql-community-devel

9.2.  JDK安装

JDK 是个绿色软件,解压并且配置环境变量即可使用

 

9.2.1.  JDK安装步骤

1) 在虚拟机中创建两个目录

mkdir -p /export/software    软件包放置的目录

mkdir -p /export/servers      软件安装的目录

2) 进入 /export/software 目录, 上传jdk的安装包:  jdk-8u241-linux-x64.tar.gz

3) 解压压缩包到/export/servers目录下

tar -zxvf jdk-8u241-linux-x64.tar.gz -C /export/servers

查看解压后的目录,目录中有 jdk1.8.0_144 为 jdk 解压的目录

 

 

4) 配置 jdk 环境变量,打开/etc/profile 配置文件,将下面配置拷贝进去。export 命令用于将 shell 变量输出为环境变量

第一步: vi /etc/profile

第二步: 通过键盘上下键 将光标拉倒最后面

第三步: 然后输入 i, 将一下内容输入即可

 

#set java environment

JAVA_HOME=/export/servers/jdk1.8.0_241

CLASSPATH=.:$JAVA_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

 

第四步: esc键 然后 :wq  保存退出即可

 

5) 重新加载环境变量:

source /etc/profile

 

6) 配置jdk是否安装成功

java -version

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/shan13936/p/13968663.html