Linux
1.概念
(1)什么叫镜像文件?
镜像文件的后缀名为.iso
不同的镜像文件,可以让Vmware Workstation装出不同的系统。
(2)Vmware Workstation与JVM(Java虚拟机)有什么区别?
它们都是叫虚拟机,但是用途不一样。Vmware Workstation可以根据镜像文件虚拟出各种不同的操作系统,JVM使用来运行Java程序的。
Vmware Workstation与JVM他们都是软件。
(3)操作系统有哪些?
Windows
Mac OS
Linux
1.CentOS 7(我们现在使用的)
2.Ubuntu
3.Red Hat Linux(红帽Linux)
4.Kali Linux(专门用于做网络安全的)
(4)为什么我们不使用图形化界面的Linux操作系统?
因为企业中Linux操作系统一般多用于做服务器,而且都没有使用图形化界面,操作服务器是通过远程连接操作的。
不带图形化界面的Linux操作系统非常的小。
(5)如果你的鼠标在虚拟机中的系统里面出不来,那么请按ctrl + alt键,可以从虚拟机中切出鼠标到你的物理机上
(6)镜像文件的的区别
CentOS-7-x86_64-DVD-2009.iso 标准安装版,一般下载这个就可以了
CentOS-7-x86_64-NetInstall-2009.iso 网络安装镜像
CentOS-7-x86_64-Everything-2009.iso 对完整版安装盘的软件进行补充,集成所有软件
CentOS-7-x86_64-LiveGNOME-2009.iso GNOME桌面版
CentOS-7-x86_64-LiveKDE-2009.iso KDE桌面版
CentOS-7-x86_64-Minimal-2009.iso 精简版,自带的软件最少(推荐)
2.Linux的目录结构
Linux操作系统中,没有盘符的概念,所有没有像windows那样所谓的C盘,E盘之类的,Linux操作系统中有的是文件系统(File System),所以在Linux中只有目录和文件。最底层的路径就是/
/bin 放的是可以执行的二进制文件(程序,这个程序就是经常使用的一些命令)
/sbin 放的也是可以执行的二进制文件,只有root能看
/dev 存放的是一些设备文件
/home 存放的是用户文件的根目录,每一个用户在/home目录下都有一个和自己用户名一模一样的目录(除了root用户)
/lib 存放着程序运行所依赖的非64位的库
/lib64 存放的是64位依赖库
/mnt 可以让用户挂载其他文件系统
/tmp 用于存放临时文件的地方
/var 存放不断扩充的东西,日志文件可以放在这里
/boot 存放的是系统启动时的引导文件(你开机看到的那些东西就属于引导文件产生的)
/etc 存放的是系统的配置文件,有时候也会存放一些自己安装的软件的配置文件
/media 媒体目录,一般用于挂载外部设备(比如U盘,移动硬盘)
/opt 一般用于存放安装软件的目录,有些软件解压就能用了,那么可以放在这里
/root 超级用户的目录(root用户的权限是最大的)
/usr 用户的很多应用程序和文件都在这个目录下,有点像Windows系统中的Program Files目录
/usr/local 一般用于存放通过编译源码的方式安装的程序
3.远程连接与远程文件传输
3.1 远程连接
进行远程连接的软件其实有很多,我们一般可以使用xshell这款软件。
想要远程连接一台服务器,需要具备以下东西:
1.协议(连接Linux服务器,一般使用ssh协议)
2.IP地址
3.端口号(连接Linux服务器,一般默认采用22端口)
查看ip地址
在xhsell软件中连接centkos系统的服务器
点完确定后,会出现下图的情况:
打开完之后输入正确的账号密码就登录成功了
3.2 远程文件传输
安装Xftp,安装方式很简单,点开一直下一步就行了。
虚拟机的快照与克隆
快照
快照类似于给系统做备份一样,相当于把现在的系统的状态给保留下来,当系统出现问题的时候可以一键恢复到当时拍快照的时候
克隆
因为我配置的是静态ip,但是克隆出来的虚拟机的ip都一样,为了防止网络冲突,我应该先启动克隆出的第一台机器,并将IP地址改了,再启动克隆出的第二台机器,并将IP地址改了。最后再启动最初的那台(母体)
4.vim编辑器
linux操作系统上,默认有一个vi编辑器,vim编辑器可以看成是vi编辑器的升级版,所以它们操作方式基本一致。
vi darksnow.txt 编辑一个名为darksnow.txt的文件
-------------------------------------------------------------------------
(1) 输入vi darksnow.txt,当你按下回车之后就进入到了文件编辑的一般模式,按下i键就会进入到文本编辑模式(所谓文本编辑模式就代表你可以输入内容了,你能够在左下角看到"-- INSERT --"这么一个字符串)
(2) 进入到文本编辑模式后就可以开始输入内容了,当你输入完所有内容后按下Esc键退出文本编辑模式,你能够发现左下角的"-- INSERT --"这么一个字符串消失了。这也意味着退出文本编辑模式就回到最开始的一般模式
(3) 按下Shift + :(冒号,在键盘L键的右边),就可以进入命令行模式(发现左下角出现了冒号),你可以输入wq + 回车键就能够达到保存并退出的效果。(w代表保存,q代表退出)
注意了:
你只想退出不想保存,那就在命令行模式中不要输入wq + 回车,而是输入q + 回车就行了,但是有个时候你输入q + 回车,会遇到错误信息”E37: No write since last change (add ! to override)“。解决方案:q! + 回车(代表强制退出)
-------------------------------------------------------------------------
在一般模式下(左下角没有任何东西),可以使用以下操作,下面带数字的操作,数字请用字母按键上面的那一排数字
按下dd #能够快速的删除一行(从光标所在位置开始算起),如果按下3dd(一次性删除三行)
按下gg #光标直接跳到内容的首行
按下yy #复制光标所在的那一行内容,如果按下3yy(一次性复制三行)
按下p #粘贴
-------------------------------------------------------------------------
在一般模式下,按V键进入字符选择模式(你能够在左下角看到"-- VISUAL --"这么一个字符串),你可以通同↑键或者↓键选择内容范围,选择完之后,按y键复制,按p键粘贴。
-------------------------------------------------------------------------
全局替换(这个操作得在命令行模式下输入):
格式:%s/需要被替换的内容/替换的内容
比如:%s/love/need #将内容中所有的love字符串都变为了need字符串
-------------------------------------------------------------------------
在一般模式下,比如输入/need,那么就会在所有的内容中去查找"need"这个字符串第一次出现的地方(光标会跳到那里去),按n键光标可以跳到下一个符合条件的位置。
-------------------------------------------------------------------------
在命令行模式下,输入set nu可以让文件里面的内容显示出行号,输入set nonu可以取消文本行号的显示
-------------------------------------------------------------------------
安装vim编辑器
yum install -y vim
我们以后请使用vim不用vi,除非实在没有vim才用vi
重点注意
出现上图的现象主要是因为你vi darksnow.txt这个文件后,进行了一些操作,然后没有通过正常方式关闭(正常方式关闭指的是通过在命令行模式下执行wq或者q或者w这样的操作),所以系统就会给你生成一个.darksnow.txt.swp的文件,这个文件的存在,就会让你vi darksnow.txt产生如上图所属的这一大版文字,但是不建议你去直接删除.darksnow.txt.swp这个文件,因为可能会造成数据的丢失。建议的做法如下:
就接上图操作,先按回车键进入,然后在通过Shift+:进入到命令行模式,在输入q退出这个文件(切记!不要保存!不要保存!),然后退出之后输入vi -r darksnow.txt来恢复文件,然后再通过Shift+:进入到命令行模式,在输入wq保存退出这个文件,最后执行rm -rf .darksnbow.txt.swp命令,来删除交换文件。删除哪个交换文件就看上图红色框框里面的内容是什么。
5.网络配置
在/etc/sysconfig/network-scripts/目录下,有一个"ifcfg-"开头的文件是网络配置文件(注意:ifcfg-lo不是的)
vim /etc/sysconfig/network-scripts/ifcfg-ens33 //编辑网络配置文件,但是这个文件的名称不是固定的
----------------------------------------------------------------------
ifcfg-ens33文件内的内容详解:
#类型是以太网
TYPE="Ethernet"
#设置IP地址是静态(static)的还是动态(dhcp)的。动态代表动态生成(有可能IP地址会变动),静态代表的是固定的
BOOTPROTO="dhcp"
#网卡的名称
NAME="ens33"
#是否开启网卡,yes代表开启,no代表关闭
ONBOOT="yes"
----------------------------------------------------------------------
动态ip配置:
TYPE="Ethernet"
BOOTPROTO="dhcp"
NAME="ens33"
ONBOOT="yes"
静态ip配置:
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
ONBOOT="yes"
#怎么算在同一个网段内:ip地址由四个部分构成,前三个部分相同。比如192.168.11.12与192.168.11.35是同一个网段
#配置IP地址,但是要与你的网卡地址在同一个网段内,如果你用的是NAT模式,请关注VMnet8这个网卡的地址
IPADDR=192.168.190.101 #因为我们用的是NAT,所以前三位要与VMnet8这个网卡的前三位保持一致,最后一位范围3-254
#配置子网掩码,你就按照这个写就对了,具体的自己去网上了解
NETMASK=255.255.255.0
#配置网关,你就按照这个写就对了,具体的自己去网上了解
GATEWAY=192.168.190.2
#DNS域名解析服务器,可以与网关的地址保持一致
DNS1=192.168.190.2
6.CentOS7的命令
6.1 常用命令
(1)date
该命令可用于查看当前日期时间
(2)date "+%Y-%m-%d %H:%M:%S"
可以自定义格式显示当前日期时间
(3)last
查看最近的登录历史
(4)clear
clear命令用于清贫。通过快捷键Ctrl + L也可以实现清屏效果。
(5)stat
stat命令可以查看文件的详细信息
格式:stat 文件名
(6)cal 年份
cal命令可以查看指定年份的日历表
格式:cal 年份
(7)man
man命令可以获取其他命令的帮助信息
格式:man 命令名
比如man ls,可以查看ls这命令的相关帮助文档
6.2 文件系统操作命令
(1)pwd
pwd命令可以查看当前所在的目录位置
(2)ls
ls命令可以查看当前目录下所有的目录和文件
ls -alth 当前目录下所有的目录和文件
ls -alth /usr 查看根目录下usr目录下的所有的目录和文件
参数解释:
-a:显示所有文件和目录(包括隐藏文件和目录也会被显示,以点开头的文件或目录就是隐藏目录)
-l:以较为详细的并且为列表的方式去显示文件和目录
ls -l等价于ll命令
-t:将显示的信息按照最新的修改时间排序
-h:一般与-l参数一起使用,以更加方便阅读的方式来显示文件大小
(3)cd 目录的相对路径或绝对路径
以/目录开头的路径就是绝对路径,其他的都是相对路径。
cd命令用于进入目录。
cd /home 进入到/home目录下
cd ../ 进入到上一级目录
cd ../../ 进入到上上级目录
cd ../temp 进入到上一级目录中的temp目录里面
cd ~ 回家,回到自己的家目录
cd - 进入到上一次进入的目录中
(4)mkdir
mkdir是用于创建目录的。
mkdir test #创建一个名为test的目录
mkdir -p aa/bb/cc #创建一个多级目录,先会创建出一个aa目录,然后在aa目录下有bb目录,bb目录下有cc目录
rmdir test #删除test目录(删除指定的空目录,如果这个目录不是空的会删除失败)
rm -rf aa #强制删除aa目录(它可以强制删除目录或文件,-r代表递归,-f代表不带提示的强制)
(5)touch
touch命令是用于创建文件的
touch test.txt #创建一个名为test.txt的文件
(6)cp
cp命令是用来复制粘贴文件或目录的
cp /root/test.txt /opt/ #复制/root/test.txt文件粘贴到/opt这个目录(复制指定文件或目录到指定地方)
cp -r /tmp/ /opt/ #如果你复制粘贴目录的时候,这个目录里面有东西,需要加上-r参数,表示递归复制
如果你怕忘记,以后不管复制文件还是目录都加上-r参数。
(7)mv
mv命令用来移动文件或者目录以及给文件或者目录重命名的
mv /root/darksnow.txt /opt/ #将/root/darksnow.txt文件移动到/opt目录下
mv /root/darksnow.txt /opt/dark.txt #将/root/darksnow.txt文件移动到/opt目录下并改名为dark.txt
mv /root/aa/ /opt/ #将/root/aa目录移动到/opt目录下
mv /root/aa/ /opt/test #将/root/aa目录移动到/opt目录下并改名为test
mv /root/test.txt /root/rabbit.txt #将/root下的test.txt重命名为rabbit.txt
mv /root/dev /root/local #将/root下的dev目录重命名为local
(8)more
more命令可以更方便的查阅文件
more anaconda-ks.cfg #可翻阅式查看文件内容,翻到下一页(空格键),翻到上一页(b键),退出(q键),往下 翻一点点(回车键)
(9)cat
cat命令可以查看文件的所有内容
cat darksnow.txt #查看darksnow.txt文件的所有内容
cat -n darksnow.txt #查看darksnow.txt文件的所有内容并且显示行号
(10)less
less命令适合查看大文件
less anaconda-ks.cfg #可翻阅式查看文件内容,翻到下一页(空格键),翻到上一页(b键),退出(q键)
#往上翻一行(↑键),往下翻一行(↓键),搜索关键字(/要搜索的内容)
(11)echo
echo 111 > shell.txt #将文本内容111写入到shell.txt中(会新生成一个shell.txt的文件),
#但是每次写入都会覆盖所有内容。
echo java >> shell.txt #向shell.txt中追加文本内容java(会新生成一个shell.txt的文件)
ip addr > ip.txt #将ip addr命令执行的结果写入ip.txt(会覆盖原来所有的内容)
ls >> ip.txt #将ls命令执行的结果追加到ip.txt(在原来的内容基础之上做追加)
echo $PATH #输出环境变量的值
(12)head
head anaconda-ks.cfg #查看anaconda-ks.cfg文件的前10行内容
head -5 anaconda-ks.cfg #查看anaconda-ks.cfg文件的前5行内容
(13)tail
tail anaconda-ks.cfg #查看anaconda-ks.cfg文件的后10行内容
tail -5 anaconda-ks.cfg #查看anaconda-ks.cfg文件的后5行内容
tail -f java.log #动态显示java.log文件的内容,如果内容增加,你也能实时看到,常用于查看日志
#使用Ctrl + C键可以终止查看。
tail -n +5 anaconda-ks.cfg #查看anaconda-ks.cfg文件显示从第5行开始,直到最后行的数据
关于tail -F与-f参数的区别:https://blog.csdn.net/weixin_44055306/article/details/121066110
(14)ln
ln命令是用来创建软链接(符号链接)的
ln -s /usr/bin/ls darksnow #创建一个名为darksnow的软链接,它实际指向的是/usr/bin/ls这个程序
#该操作有点类似于windows系统下的创建快捷方式
(15)history
history命令可以用来查看你曾经执行过的命令,也可以方便的去执行你曾经执行过的命令
history #查看所有的历史命令
history 5 #查看最近执行的5条命令
!390 #执行命令历史记录编号为390的命令
(16)rename
rename .txt .txt.bak * #将所有后缀名为.txt的文件它的后缀名改为.txt.bak,*代表匹配所有文件
(17)find
find / -name mk* -ls #查找/目录下,所有文件名以mk开头的文件,并且显示它们的详细信息
find /root -name darksnow.txt.bak #查找/root目录下,名为darksnow.txt.bak的文件
find /dev -user root #查找/dev目录下,属于root这个用户的所有文件
find / -size +10M #查找根目录下大于10M的文件(+代表大于,-代表小于,单位:k,M,G)
(18)file
file darksnow.txt #查看darksnow.txt这个文件的编码
(19)wc命令
wc darksnow.txt #会得到指定文件的行数,单词数,字节数
wc -c darksnow.txt #统计darksnow.txt的字节数
wc -m darksnow.txt #统计darksnow.txt的字符数
wc -l darksnow.txt #统计darksnow.txt的行数
wc -L darksnow.txt #统计darksnow.txt的最长行的长度
wc -w darksnow.txt #统计darksnow.txt的单词数
(20)grep命令与管道符|
grep命令本身是用于过滤查找的。grep可以使用-n参数来显示行号
管道符|,作用就是将管道符前面的命令的结果交给后面的命令来处理。
cat /darksnow.txt | grep -n "love" #将cat darksnow.txt结果交给管道符(|)后面的grep命令来处理
(21)wget
yum install -y wget #安装wget这个程序
wget命令可以用来下载文件,但是需要你指定要下载的文件的URL地址
#下载网易云音乐
wget https://d1.music.126.net/dmusic/NeteaseCloudMusic_Music_official_2.10.6.200601.exe
(22)gzip与gunzip命令
gzip ip.txt #将ip.txt文件压缩成一个"ip.txt.gz"的压缩文件,并且ip.txt这个文件会消失
gzip -d ip.txt.gz #解压"ip.txt.gz"这个压缩文件,会解出一个ip.txt文件,并且ip.txt.gz这个文件会消失
gunzip ip.txt.gz #和上一条命令的效果是一样的
(23)zip与unzip命令
如果使用zip命令提示“未找到命令”
你可以执行yum install -y zip来安装zip程序
执行yum install -y unzip来安装unzip程序
zip ip.zip ip.txt #将ip.txt文件压缩成一个"ip.zip"文件,原来的ip.txt文件不会消失
zip -r root.zip /root #将root目录以及它下面的所有的目录和文件都压缩出一个root.zip文件,必须加-r参数
unzip -d /opt /root/ip.zip #将/root/ip.zip文件解压到/opt目录下,原来的ip.zip文件不会消失
(24)tar
tar -zcvf darksnow.tar.gz darksnow.txt #将darksnow.txt文件压缩出一个darksnow.tar.gz文件,源文件不会消失
tar -zxvf darksnow.tar.gz #将darksnow.tar.gz解压出一个darksnow.txt文件,原来的tar.gz压缩包不会消失
tar -zxvf root.tar.gz -C /opt #将root.tar.gz文件向/opt目录下解压
6.3 系统命令
(1)halt #停止系统,黑屏。
(2)reboot #重启系统。
(3)poweroff #关机
(4)shutdown -h now #立即关机
shutdown -h 5 #5分钟后关机
shutdown -r now #立即重启
shutdown -r 5 #5分钟后重启
(5)sync #将内存中的数据写入磁盘,建议在关机或重启之前执行一下这条命令
(6)logout #可以注销当前用户,会回到输入系统账号和密码的界面
(7)hostname #查看主机名,比如:[root@localhost ~]# ==> 账号@主机名
hostname 主机名 #修改主机名(重启后会失效)
(8)uname -r #查看系统的内核信息
uname -a #查看更详细的内核信息
(9)ip addr #查看IP地址
(10)ifconfig #查看IP地址
需要使用这条命令,得安装一个程序:yum install -y net-tools
ifconfig ens33 192.168.190.110 #修改名为ens33的网卡的IP地址为192.168.190.110(重启后会失效)
(11)netstat -nultp #查看端口号,但是需要安装net-tools这个程序
(12)ping IP地址或主机名 #检测网络是否可达
(13)Ctrl + C #停止命令
(14)whereis 命令或者可执行程序名 #查找命令或者可执行程序所在的位置
比如执行:whereis ls
结果为:ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
7.用户和组
7.1 用户和组的文件
cat /etc/passwd #查看用户账号文件
比如:root:x:0:0:root:/root:/bin/bash
冒号代表分隔符,由七个部分组成:
(1)用户名
(2)密码(但是具体的密码在密码文件中)
(3)用户标识(UID)
UID=0代表超级用户
1<=UID<=499代表伪用户(系统用户)
500<=UID<=65535代表普通用户
(4)组标识(GID)
(5)用户全名
(6)主目录
(7)命令解析器,默认使用的是shell,所以显示的是/bin/bash
cat /etc/shadow #查看用户密码文件
(1)用户名
(2)密码的加密口令
(3)最后一次修改时间,也就是上次密码更改的时间距离1970年1月1日的天数
(4)最小时间间隔,两次修改密码间隔的最小天数
(5)最大时间间隔,密码更改后必须再次更改的天数(密码的有效期)
(6)警告时间,提前多少天警告用户密码即将过期
(7)账号闲置时间,在密码过期后的多少天禁用此用户
(8)标志,保留未用,以便以后发展使用
cat /etc/group #查看组的账号文件
(1)组名
(2)组密码,一般不用
(3)组标识号(GID),用于区分不同的组ID
(4)组内用户列表,属于该组的用户列表
cat /etc/gshadow #查看组密码文件
7.2 相关命令操作
(1)useradd 自定义名称 #添加用户,它会自动在/home目录下建立一个以你定义的名称为目录名的目录
参数:
-u #指定新用户的用户ID
-g #指定新用户的组名或组id
-G #可以给新用户指定多个组,组与组之间用逗号隔开
-c #指定新用户的描述
-e #指定新用户的过期时间
#注意了:添加一个用户会默认添加以该用户名命名的组,并且新添加的这个用户会默认归属到这个组中
(2)passwd 用户名 #修改指定用户名的密码,也可以给新用户设置密码(该操作需要root权限)
(3)usermod -L darksnow #锁定名为darksnow的这个用户
usermod -U darksnow #解锁名为darksnow的这个用户
usermod -l DarkSnow darksnow #将用户名darksnow修改为DarkSnow
(4)userdel -rf DarkSnow #强制删除指定用户和该用户对应/home下的目录(主目录)
-r #代表删除用户名对应的/home下的目录
-f #代表强制
但是不建议这么做,一般执行userdel 用户名。
(5)su 用户名 #切换到指定用户,exit命令可以退回到前一个用户。高权限用户切换到低权限用户不需要密码,否则就需要。
(6)who #查看当前用户
(7)groupadd 自定组名 #添加一个组
(8)useradd -g 组名 用户名 #新增一个用户,并且添加到指定组里面
(9)usermod -g 组名 用户名 #修改用户名的所属组
(10)groupmod -n 修改成的新组名 要修改的原组名 #修改指定的组名
(11)groupdel 组名 #删除指定的组
(12)groups #显示当前用户所属的组
yum命令的使用
1.介绍
Yum的全称是Yellow dog updater Modified,它能够从指定的服务器自动下载rpm并且安装,它最强大的一点是能够自动处理依赖关系。
2.yum的命令
yum install -y 软件名 #通过yum安装指定的软件
yum list #查看所有软件包,都是后缀为.rpm的文件
yum list installed #查看已经安装的软件包
yum search 软件名 #在yum仓库中搜素软件
yum remove 软件名 #卸载软件
yum clean all #清理yum的缓存
yum makecache #生成缓存
yum repolist #查看当前的仓库
yum check-update #检查所有可以更新的软件包
#可以通过yum将指定的程序下载到指定的目录,不自动安装
yum install --downloadonly --downloaddir=/opt/ wget
rpm命令的使用
rpm -i wget-1.14-18.el7_6.1.x86_64.rpm #通过rpm包安装wget这个程序
rpm -e wget #卸载wget这个程序
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm #通过rpm包安装wget这个程序,显示安装进度信息
rpm -qa #显示所有已经安装的软件包
rpm -qi wget #显示wget这个程序的描述信息
rpm -ql wget #显示wget这个程序所有相关的文件
安装一些软件
安装JDK
cd /opt
tar -zxvf jdk-8u11-linux-x64.tar.gz #解压压缩包
#配置环境变量
vim /etc/profile
在/etc/profile文件的末尾,写上下面两句话
export JAVA_HOME=/opt/jdk1.8.0_11
export PATH=$PATH:$JAVA_HOME/bin
#最后保存退出文件。
#重新加载环境变量
source /etc/profile
安装Tomcat
cd /opt
#下载tomcat压缩包
wget http://dlcdn.apache.org/tomcat/tomcat-9/v9.0.70/bin/apache-tomcat-9.0.70.tar.gz
#解压tomcat的压缩包
tar -zxvf /opt/apache-tomcat-9.0.70.tar.gz
#删除压缩包
rm -rf /opt/apache-tomcat-9.0.70.tar.gz
#编辑环境变量文件
vim /etc/profile
#配置环境变量,在/etc/profile文件的末尾写入以下内容
export JAVA_HOME=/opt/jdk1.8.0_11
export TOMCAT_HOME=/opt/apache-tomcat-9.0.70
export PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin
#最后保存退出文件
#重新加载环境变量
source /etc/profile
#执行下面的命令启动Tomcat,启动后访问:http://服务器的IP地址:8080/
startup.sh
#执行下面的命令会关闭Tomcat
shutdown.sh
#查看Tomcat启动日志
cat /opt/apache-tomcat-9.0.70/logs/catalina.out
#查看是否开启了防火墙,如果你看Active: active (running) 那就说明你的防火墙运行中,那么外界无法访问tomcat的8080端口
systemctl status firewalld
#解决方案一(自己玩儿)
#关闭防火墙
systemctl stop firewalld #停止防火墙的运行
systemctl disable firewalld #禁止防火墙服务开机自动启动
#解决方案二(实际该这么做)
firewall-cmd --zone=public --add-port=8080/tcp --permanent #放行8080端口
firewall-cmd --reload #重新加载
firewall-cmd --zone=public --query-port=8080/tcp #检测8080端口是否方向,放行的结果为yes,否则为no
MySQL安装方式一
cd /opt
wget https://repo.mysql.com/mysql-community-release-el5-7.noarch.rpm
#这条命令执行后,在/etc/yum.repos.d/目录下会出现,mysql-community.repo,mysql-community-source.repo文件
rpm -ivh /opt/mysql-community-release-el5-7.noarch.rpm
#安装mysql服务端
yum install -y mysql-community-server
#启动mysql服务
systemctl start mysqld
#进入到mysql
mysql
#使用mysql这个库
use mysql
#设置mysql的密码
update user set password=password('123456') where user = 'root';
#授权
grant all privileges on *.* to 'root'@'%' identified by '123456';
#退出mysql
exit
#重启mysql服务
systemctl restart mysqld
#开机自动启动mysql服务
systemctl enable mysqld
systemctl daemon-reload
MySQL安装方式二(推荐)
# 查看系统有没有自带Mariadb
rpm -qa | grep mariadb
# 卸载系统自带的Mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
# 检查mysql用户和组是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 都不存在就创建mysql用户和组
groupadd mysql
useradd -r -g mysql mysql
# 将mysql的安装包上传到服务器,下载地址二选一
链接:https://pan.baidu.com/s/1DxksQDh2zAB01Df2bvwqYw 提取码:qi6f
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-el7-x86_64.tar.gz
# 解压mysql的tar.gz包
tar -zxvf /opt/mysql-5.7.38-el7-x86_64.tar.gz
# 创建mysql的数据存放目录
mkdir /opt/mysql-5.7.38-el7-x86_64/data
# 更改mysql目录的下所有文件的所属用户组,用户以及权限
chown -R mysql:mysql /opt/mysql-5.7.38-el7-x86_64
chmod -R 755 /opt/mysql-5.7.38-el7-x86_64
# 编译安装并初始化mysql,请务必记住初始化的临时数据库管理员密码(这个密码是随机生成的)
# 2022-12-20T09:06:23.426909Z 1 [Note] A temporary password is generated for root@localhost: MwWuZCu21s(w
/opt/mysql-5.7.38-el7-x86_64/bin/mysqld --initialize --user=mysql --datadir=/opt/mysql-5.7.38-el7-x86_64/data --basedir=/opt/mysql-5.7.38-el7-x86_6
# 编辑mysql的配置文件
vim /etc/my.cnf
---------------------------------------------------
# my.cnf的内容如下
[mysql]
[mysqld]
init_connect='SET NAMES utf8'
character-set-server=utf8
datadir=/opt/mysql-5.7.38-el7-x86_64/data
port=3306
max_connections=400
symbolic-links=0
[client]
port=3306
---------------------------------------------------
# 修改这个文件的权限
chmod -R 755 /etc/my.cnf
# 修改配置文件,看图!
vim /opt/mysql-5.7.38-el7-x86_64/support-files/mysql.server
# 启动mysql服务
/opt/mysql-5.7.38-el7-x86_64/support-files/mysql.server start
# 添加软链接
ln -s /opt/mysql-5.7.38-el7-x86_64/support-files/mysql.server /etc/init.d/mysql
ln -s /opt/mysql-5.7.38-el7-x86_64/bin/mysql /usr/bin/mysql
# 重启mysql服务器
service mysql restart
# 进入mysql安全设置
/opt/mysql-5.7.38-el7-x86_64/bin/mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: #请输入原来生成的随机初始密码
The existing password for the user account root has expired. Please set a new password.
New password: #输入新密码,长度为8到30位,必须包含大小写英文字母,数字和特殊符号(Spring123...)
Re-enter new password: #重新再输入一次
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: #输入n
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : #输入y
后面全部输入y
# 设置开机自启
cp /opt/mysql-5.7.38-el7-x86_64/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
chmod +x /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
# 启动mysql服务
systemctl start mysqld
显示全路径
#在/etc/profile文件的末尾处写入以下内容
export PS1='[\u@\h `pwd`]\$ '
#重新加载环境变量
source /etc/profile