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)
l pwd命令
查看当前所在目录
[root@node1 ~]# pwd /root |
l mkdir命令
该命令用于创建目录
注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名
1)创建没有层级关系的目录
mkdir 目录名
[root@node1 ~]# mkdir test [root@node1 ~]# |
2)创建有层级关 的目录
mkdir -p 目录1/目录2/目录3
[root@node1 ~]# mkdir -p /root/aaa/bbb [root@node1 ~]# |
l 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<行数> : 显示的行数
u -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 |