目录介绍
编号 | 目录 | 含义 |
---|---|---|
1 | /bin | 存放二进制可执行文件 |
2 | /boot | 存放系统引导时使用的各种文件 |
3 | /dev | 存放设备文件 |
4 | /etc | 存放系统配置文件, 比如:安装完毕jdk,安装maven、配置环境变量 |
5 | /home | 用户的主目录,存放用户的个人资料的。比如:linux是一个多用户的操作系统,创建了zhangsan用户,那么在home目录里面有zhangsan文件夹。 linux中有几个普通用户 那么在这个文件夹中 就会有几个和用户名同名的文件夹 |
6 | /lib | 存放程序运行所需的共享库和内核模块 |
7 | /opt | 额外安装的可选应用程序包所放置的位置 |
8 | /root | 超级管理员的主目录 |
9 | /sbin | 存放二进制可执行文件,只有root用户才能访问 |
10 | /tmp | 存放临时文件 |
11 | /usr | 安装软件的默认目录 |
12 | /var | 存放运行时需要改变数据的文件,例如日志文件 |
Linux常用命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
1 | ls [目录名] | list | 查看当前目录下的内容 |
2 | pwd | print work directory | 查看当前所在目录 |
3 | cd [目录名] | change directory | 切换目录 |
4 | touch [文件名] | touch | 如果文件不存在,创建文件 |
5 | mkdir [目录名] | make directory | 创建目录 |
6 | rm [文件名] | remove | 删除指定文件 |
[root@localhost ~]#
root:当前登录的用户名
@:标志
localhost:连接的是本地虚拟机中安装的linux系统
~:代表当前用户的主目录 /root
#:代表管理员
$:代表普通用户 /home/yxh
ls
作用: 显示指定目录下的所有内容
语法: ls [-al] [dir]
说明:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll
常见用法:
ls -al 查看当前目录的所有文件及目录详细信息
ls -al /etc 查看/etc目录下所有文件及目录详细信息
ll 查看当前目录文件及目录的详细信息
cd
作用: 用于切换当前工作目录,即进入指定目录
语法: cd [dirName]
特殊说明:
~ 表示用户的主目录,超级管理员的用户的主目录root
. 表示目前所在的目录
.. 表示目前目录位置的上级目录
举例:
cd .. 切换到当前目录的上级目录
cd ~ 切换到用户的home目录
cd /usr/local 切换到/usr/local目录
cat
作用: 用于显示文件内容
语法: cat [-n] fileName
说明:
-n: 由1开始对所有输出的行数编号
举例:
cat /etc/profile 查看/etc目录下的profile文件内容
more
作用: 以分页的形式显示文件内容
语法: more fileName
操作说明:
回车键 向下滚动一行
空格键 向下滚动一屏
b 返回上一屏
q或者Ctrl+C 退出more
举例:
more /etc/profile 以分页方式显示/etc目录下的profile文件内容
tail
作用: 查看文件末尾的内容
语法: tail [-f] fileName
说明:
-f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /tyhxzy/my.log 动态读取/tyhxzy目录下的my.log文件末尾内容并显示
mkdir
作用: 创建目录
语法: mkdir [-p] dirName
说明:
-p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir tyhxzy 在当前目录下,建立一个名为tyhxzy的子目录
mkdir -p tyhxzy/test 在工作目录下的tyhxzy目录中建立一个名为test的子目录,若tyhxzy目录不存在,则建立一个
rmdir
作用: 删除空目录
语法: rmdir [-p] dirName
说明:
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
举例:
rmdir tyhxzy 删除名为tyhxzy的空目录
rmdir -p tyhxzy/test 删除tyhxzy目录中名为test的子目录,若test目录删除后tyhxzy目录变为空目录,则也被删除
rmdir tyhxzy* 删除名称以tyhxzy开始的空目录
rm
作用: 删除文件或者目录
语法: rm [-rf] name
说明:
-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f: 无需确认,直接删除
举例:
rm -r tyhxzy/ 删除名为tyhxzy的目录和目录中所有文件,删除前需确认
rm -rf tyhxzy/ 无需确认,直接删除名为tyhxzy的目录和目录中所有文件
rm -f hello.txt 无需确认,直接删除hello.txt文件
cp
作用: 用于复制文件或目录
语法: cp [-r] source dest
说明:
-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
cp hello.txt tyhxzy/ 将hello.txt复制到tyhxzy目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r tyhxzy/ ./itheima/ 将tyhxzy目录和目录下所有文件复制到itheima目录下
cp -r tyhxzy/* ./itheima/ 将tyhxzy目录下所有文件复制到itheima目录下
mv
作用: 剪切,重命名(如果在同一个路径操作就是重命名,否则就是剪切)
语法: mv source dest
举例:
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
mv tyhxzy/ itheima/ 如果itheima目录不存在,将tyhxzy目录改名为itheima
mv tyhxzy/ itheima/ 如果itheima目录存在,将tyhxzy目录移动到itheima目录中
打包压缩命令
作用: 对文件进行打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩(归档文件)
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压 tar.gz
-c: c代表的是create,即创建新的打包文件 tar
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
文本编辑命令
vi&vim介绍
作用: 对文件内容进行编辑,vim其实就是一个文本编辑器
语法: vim fileName
说明:
1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。
三种模式:
- 命令模式(不可编辑内容)
A. 命令模式下可以查看文件内容、搜索文本内容.
按下/输入搜索内容即可.
命令模式指令 | 含义 |
---|---|
gg | 定位到文本内容的第一行 |
G | 定位到文本内容的最后一行 |
dd | 删除光标所在行的数据 |
ndd | 删除当前光标所在行及之后的n行数据 |
u | 撤销操作 |
shift+zz | 保存并退出 |
i 或 a 或 o | 进入插入模式 |
-
插入模式
A. 插入模式下可以对文件内容进行编辑
B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
C. 在插入模式下按下ESC键,回到命令模式 -
底行模式
- 按下esc回到命令模式
- 在命令模式的基础上按下 shift+:
- 按下保存退出: :wq(保存退出) :q!(强制退出不保存)
底行模式命令 含义 :wq 保存并退出 :q! 不保存退出 :set nu 显示行号 :set nonu 取消行号显示 :n 定位到第n行, 如 :10 就是定位到第10行
查找命令
find
作用: 在指定目录下查找文件
语法: find dirName -option fileName
举例:
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /tyhxzy -name "*.java" 在/tyhxzy目录及其子目录下查找.java结尾的文件
grep
作用: 从指定文件中查找指定的文本内容
语法: grep word fileName
举例:
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
查看系统的进程命令
ps -ef 系统的所有的进程都展示出来
杀死进程
kill -9(强制杀死)|-2(温和杀死) 进程id号
kill -9 7694 强制杀死7694进程
管道命令(|)
作用: 上一个命令的结果提供给下一个命令去使用。
例子:杀死vim进程
Linux 的权限命令
用户和组管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统 管理员申请一个账号,然后以这个账号的身份进 入系统。 Linux中所创建的账号和其相关信息(密码除外)均放在 /etc/passwd 文件中,为安全起见,用户真实的密码采用MD5加密算法加密后,保存在/etc/shadow配置文件中,该文件只有root用户可以读取。linux在安装好后会默认创建多个用户,但是这些用户为Linux进程用户不能登录 一个用户可以在多个组中,每个组也可以有多个用户 用户的权限是多个组的权限的一个叠加 用户组帐号信息保存在/etc/group配置文件中,任何用户均可以读取。用户组的真实密码保存在/etc/gshadow配置文件中。在group中,第一个字段代表用户组的名称,第二个字段为x,第三个为用户组的ID号,第四个为该用户组的用户成员列表,各用户名间用逗号分隔
使用指令: cat /ect/passwd 查看用户信息结构 用户指令操作 ① useradd 用户名 # 添加用户 ② passwd 用户名 # 为当前用户设置密码 ③ userdel -r 用户名 # 删除该账户和所有目录结构 ④ passwd -l 用户名 # 锁定账户密码 ⑤ passwd -u 用户名 # 解锁账户密码 ⑥ passwd -S 用户名 # 查看用户密码锁定状态 ⑦ groups # 查看用户属于哪个组 用户组操作命令 ① groupadd 组名 # 创建用户组 ② groupdel 组名 # 删除用户组 ③ useradd -g 组名 用户名 # 创建用户并且制定用户所属的组 ④ gpasswd -a 用户账户 用户组名 # 将某个用户添加到该组 ⑤ gpasswd -d 用户账户 用户组名 # 将某个用户移除该组 切换用户和操作环境 ① su - username #用户和操作环境都改变 ② su username #只切换用户不切换操作环境及环境变量不变。还可用于退出超级权限 用户和组常用命令 ① groups # 查看当前登录用户的组内成员 ② groups 用户名 # 查看当前用户所在的组 ③ whoami # 查看当前登录用户名
文件权限
第0位确定文件类型(d代表目录, -代表文件, l链接(快捷键))。 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User 第4-6位确定所属组(同用户组的)拥有该文件的权限。---Group 第7-9位确定其他用户拥有该文件的权限。 ---Other 注:读写执行也可以用数字表示:r=4,w=2,x=1 ls -l d rwx r-x r-x,6 root root 138 6月 16 15:00 a.txt r:读 w:写 x:执行 rwx:读写执行的权限都有 r-x:只有读和执行的权限 rw-:读写的权限 6:连接数 root:文件的所有者 root:文件的所有者所在组名字 138:文件或者文件夹的大小 6月 16 15:00:创建时间 a.txt:文件名
改变权限的命令 ① chmod 755 文件 # 赋予某文件权限rwxr-xr-x ② chmod u=rwx,g=rx,o=rx 文件 # 同上u=用户权限,g=组权限,o=不同组其他用户权限 ③ chmod u-x,g+w 文件名 # 给abc去除用户执行的权限,增加组写的权限 ④ chmod a+r 文件名 # 给所有用户添加读的权限 改变所有者(chown)和用户组(chgrp)命令 ① chown 用户名 文件名 # 改变文件的所有者为某用户 ② chgrp 组 文件 # 改变文件所属的组 ③ chown 用户 目录 # 改变这个目录的所有者 ④ chown ‐R 用户 目录 # 改变这个目录及其下面所有的文件和目录的所有者 改变用户所在组 usermod ‐g 组名 用户名 #在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组
防火墙配置
linux默认防火墙是开启,而且所有的端口对外都是不可访问的。这么做的目的:安全。 问题:比如我等会在linux上安装tomcat的软件的。 tomcat软件需要使用8080端口。但是由于端口对外都是不可访问的,所以windows没法访问linux的tomcat。
解决上述问题的方案有两种:
- 直接关闭防火墙,释放所有的端口,允许外界去访问全部的端口 , 方便省心,弊端不安全(开发阶段)
- 只开放8080端口。开放指定的端口 (生产阶段,项目上线)
语法格式
防火墙服务
命令 | 作用 |
---|---|
systemctl start firewalld | 开启 |
systemctl stop firewalld | 关闭 |
systemctl enable firewalld | 开机自启动(默认状态) |
systemctl disable firewalld | 关闭开机自启 |
systemctl status firewalld | 查看当前防火墙状态 |
操作演示
- 确认当前是管理员的账户,查看防火墙当前的状态
- 关闭防火墙,再查看防火墙的状态
- 再次开启防火墙,查看防火墙的状态
执行结果
<font color="red">
firewall-cmd</font>
外网或内网需要连接到当前系统内的程序进行操作,需要linux系统开放程序端口,否则无法访问。
firewall-cmd | 参数说明 |
---|---|
--zone=public | 开放哪个网络,默认是public public: internal: |
--add-port=端口/tcp | 添加到防火墙中端口号,对外是打开的 |
--remove-port=端口/tcp | 从防火墙的规则中删除端口号 |
--permanent | 永久添加规则 |
--list-all | 显示现有的规则,展示所有开放端口 |
--reload | 重新加载规则,让新加的端口号起作用,重启防火墙的服务 systemctl restart firewalld |
步骤
- 永久开放443端口,添加到公开区域,允许外部连接
- 重新加载防火墙的规则
- 显示所有打开的端口号
- 从公共区域中,永久移除443端口,不允许外部连接
- 重新加载防火墙规则
- 显示打开的端口号
效果
小结
说说下面代码的作用
-
关闭、开启防火墙、设置自启、关闭自启服务命令?
systemctl stop|start|enable|disable firewalld
-
开放(添加)指定端口命令
firewall-cmd --add-port=端口/tcp --zone=public --permanent
刷新查看新添加的端口号
firewall-cmd --reload
查看防火墙开放了哪些端口号
firewall-cmd --list-all
-
删除开放端口命令:
firewall-cmd --remove-port=端口/tcp --zone=public --permanent
-
重新加载,展示列表
firewall-cmd --list-all
软件安装
软件安装方式
在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下:
安装方式 | 特点 |
---|---|
二进制发布包安装 | 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 , tomcat\jdk |
rpm安装( 软件管家) | 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题 |
yum安装 | 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网) |
源码编译安装 | 软件以源码工程的形式发布,需要自己编译打包 , redis |
安装JDK
上述我们介绍了Linux系统软件安装的四种形式,接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK对应的二进制发布包,在课程资料中已经提供,如下:
JDK具体安装步骤如下:
1). 上传安装包
目标
在Linux下安装JDK
JDK安装步骤
-
在/下创建soft目录,将提供的"软件"复制到Linux的soft目录下
mkdir /soft cd /soft
-
进入“/soft”目录,解压jdk到指定目录/usr/local下
tar -xvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
-
查看解压后的目录,目录中有jdk1.8.0_221为jdk解压的目录
-
编辑/etc/profile文件
vim /etc/profile
-
配置jdk环境变量,打开/etc/profile配置文件,将下面配置拷贝进去,注:放在文件的最后面。
export命令用于将shell变量输出为环境变量
#set java environment JAVA_HOME=/opt/soft/jdk1.8.0_221 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH
命令1:vim /etc/profile
命令2:在文件末尾处,输入o(表示在光标下插入新行),复制上面的环境变量配置粘贴,并写入保存
- 重新加载/etc/profile配置文件
source /etc/profile
- 判断JDK是否安装成功
JDK安装小结java
- 解压到压缩包到:/usr/local
- 配置环境变量: /etc/profile
- JAVA_HOME
- PATH
- 重新加载配置: source
安装Tomcat
Tomcat安装
目标
在Linux上安装Tomcat
安装Tomcat的步骤
- 进入soft文件夹,解压Tomcat到/usr/local下
tar -xvf apache-tomcat-8.5.51.tar.gz -C /usr/local
- 开放Linux的对外访问的端口8080
firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 重启防火墙
systemctl restart firewalld
- 进入/usr/local/apache-tomcat-8.5.51/bin目录,启动Tomcat
./startup.sh
- 在Windows下打开浏览器访问Linux的8080端口
- 进入bin目录下,关闭服务器。关闭服务器以后,浏览器不能再访问。
./shutdown.sh
停止Tomcat
在Linux系统中,停止Tomcat服务的方式主要有两种:
1). 运行Tomcat提供的脚本文件
在Tomcat安装目录下有一个bin目录,这个目录中存放的是tomcat的运行脚本文件,其中有一个脚本就是用于停止tomcat服务的。
我们可以切换到bin目录,并执行如下指令,来停止Tomcat服务:
sh shutdown.sh
./shutdown.sh
2). 结束Tomcat进程
我们可以先通过 ps -ef|grep tomcat
指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。然后通过kill -9 的形式,来杀死系统进程。
通过上述的指令,我们可以获取到tomcat的进程号为 79947。接下来,我们就可以通过指令 ,来杀死tomcat的进程 :
kill -9 79947
执行完上述指令之后,我们再访问Linux系统中的Tomcat,就访问不到了。
注意:
kill命令是Linux提供的用于结束进程的命令,-9表示强制结束
注意 :
虽然上述讲解的两种方式,都可以停止Tomcat服务,但是推荐使用第一种方式(./shutdown.sh)执行脚本来关闭tomcat服务,如果通过第一种方式停止不了tomcat了,这个时候,我们可以考虑使用第二种方式,强制杀死进程。
小结
**tomcat安装步骤:**
1. 解压
2. 开放8080端口
3. 启动tomcat
安装MySQL
MySQL安装
对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?
RPM:全称为 Red-Hat Package Manager,RPM软件包管理器(相当于windows的软件管家),是红帽Linux用于管理和安装软件的工具。
我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:
1). 检测当前系统是否安装过MySQL相关数据库
需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:
rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。
2). 卸载现有的MySQL数据库
在rpm中,卸载软件的语法为:
rpm -e --nodeps 软件名称
那么,我们就可以通过指令,卸载 mariadb,具体指令为:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。
3). 将资料中提供的MySQL安装包上传到Linux并解压
A. 上传MySQL安装包
在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下面。
B. 解压到/usr/local/mysql
执行如下指令:
cd /soft
mkdir mysql
tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C ./mysql
cd /soft/mysql
4). 安装顺序安装rpm安装包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
说明:
- 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
- 安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
- 可以通过指令(yum update)升级现有软件及系统内核
MySQL启动
MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务
说明:
可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令: systemctl enable mysqld
我们可以通过如下方式,来判定mysql是否启动:
ps –ef | grep mysql 查看mysql进程
`<font color='red'>`B. ps命令用于查看Linux中的进程数据。`</font>`
MySQL登录
查阅临时密码
MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码,那这个访问密码是多少呢? 那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。
可以执行如下指令:
1). cat /var/log/mysqld.log
这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。
2). cat /var/log/mysqld.log | grep password
我们可以通过上述指令,查询日志文件内容中包含password的行信息。
登录MySQL
获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。
执行如下指令:
①. 登录mysql(复制日志中的临时密码登录)
mysql -uroot -p
②. 修改密码
set global validate_password_length=4; 设置密码长度最低位数
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
set password = password('root'); 设置密码为root
③. 开启访问权限(允许外界可以远程连接mysql,默认只能是本机连接)
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。
注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。
小结
安装mysql的步骤小结:
1. 卸载原本的mysql
2. 解压
3. 安装
4. 开启mysqld的服务
5. 登录,查找你初始化密码/var/log/mysqld.log
6. 修改密码
7. 授权允许root用户在任意地址都可以登录
8. 开放3306端口
9. 使用windows的小海豚链接。
项目部署
之前我们讲解Linux操作系统时,就提到,我们服务端开发工程师学习Linux系统的目的就是将来我们开发的项目绝大部分情况下都需要部署在Linux系统中。那么在本章节,我们将通过两种方式,来演示项目部署,分别是:手动部署项目 和 基于shell脚本自动部署。
手动部署项目
**1). 在IDEA中将web项目打包
打包war包前需要将连接mysql的IP地址 改成虚拟机的Ip地址
- 前端页面和mysql数据库准备好
3)在docker中安装好mysql
docker run -id -p 3307:3306 --name=mysql01 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
将我们的sql脚本在安装好的mysql中执行
1.docker cp goods.sql mysql容器id:/
2.docker exec -it mysql容器编号 /bin/bash
3.mysql -uroot -p123456
4.use ssm_car; 看看有没有库
5.source goods.sql; 执行脚本
查看是否成功 show tables;
就可以了
4)在docker中安装好tomcat 将打包好的war包发送到tomcat 的 webapps
docker run --privileged=true -id -p 8080:8080 -v $PWD/website:/usr/local/tomcat/webapps --name=tomcat01 tomcat
5)在docker中安装好Nginx 将静态资源存到nginx的/usr/share/nginx/html
docker run -id --name=nginx003 -p 8088:80 -v $PWD/nginx/html:/usr/share/nginx/html $PWD/nginx/conf:/etc/nginx/conf
$PWD/nginx/logs:/var/log/nginx
nginx
前端页面中的内容见附件
标签:文件,rpm,linux,用户,mysql,安装,目录 From: https://www.cnblogs.com/YxinHaaa/p/17622986.html