实验室和寝室两地学习,编辑器又是typora无法云同步,只好通过gitee来远程同步,git四件套由让我非常焦躁
决定先进行linux和shell的基础学习,再尝试编写或CV自动化脚本
1.虚拟机搭建linux系统
1.1安装虚拟机软件(VMware)
软件下载:VNware workstations pro
官网下载后的秘钥:
1 | YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 |
创建过程基本就是一路默认,主要在资源添加上
一个是内存和硬盘的配置
一个是centos镜像文件的添加
碰到的问题:
VMware虚拟机的设置无法进行编辑
现象:当VMware设置无法进行编辑时,可以看到在编辑界面是处于灰色的状态,此时就无法设置。
原因:当前虚拟机是处于挂起状态,挂起状态的虚拟机,是无法进行编辑的。
解决:要对虚拟机进行编辑,先要把这个虚拟机关机才行。请点击左侧开启图标的下拉三角,在弹出的下拉菜单中有一项是“关机”。
无法连接虚拟设备 ide1:0,因为主机上没有相应的设备
未添加centos的镜像文件或光驱
启动vm虚拟机里的系统时,提示此主机支持 AMD-V,但 AMD-V 处于禁用状态
解决:进入BIOS,进入advanced—CPU configuration—SVM mode,设置为enable
小技巧
- 快照:可以方便的将虚拟机恢复到快照拍下来的时刻
- 克隆:可以克隆出来一台和当前虚拟机一样的虚拟机,也就是原始机的景象。
1.2linux系统安装
图形界面安装,同样是傻瓜式的下一步就可以
需要注意的几点:
1.硬盘分区
2.时区设置
3.安装软件:带有GUI的服务器,附加选项:开发工具和兼容程序库
4.重新启动后:login用户名默认:root
进入GUI界面后需要将强制注册的用户注销,然后选择未列出的账户,填入root
获取管理员权限。
5.添加网络连接
在设置中选择网络—选择有线—点击打开,
打开finalshell,建立连接,可以通过finalshell软件实现对虚拟机的远程管理
至此,虚拟服务器建立成功!
1.3 远程访问
安装远程访问工具SecureCRT
安装过程按照SecureCRT的安装文档进行安装。
连接:
VM端查询分配的ip:192.168.25.128
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[biongd@localhost Desktop]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:57:6b:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.25.128/24 brd 192.168.25.255 scope global dynamic eno16777736
valid_lft 1207sec preferred_lft 1207sec
inet6 fe80::20c:29ff:fe57:6b4b/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 52:54:00:2b:d2:1c brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
link/ether 52:54:00:2b:d2:1c brd ff:ff:ff:ff:ff:ffSecureCRT :对该IP进行连接(可以现在本地尝试ping通)
1.4 Linux目录结构
1 | 在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表 |
1 | bin (binaries)存放二进制可执行文件 |
开发人员关注目录:、
- 配置目录etc:软件安装后配置文件选择放入的地址。
- 软件安装目录:usr/local
- 安装应用程序目录:opt,部署的API程序一般放在这个目录。部署的API放入用户的目录:/home/用户名
- 注意:Linux系统的文件系统是以斜杠“/”开始,不是windows中的盘符概念。
2.文件管理
2.1linux目录结构
Linux的目录结构为树状结构,最顶级的目录为根目录 /。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。
绝对路径与相对路径:
- 绝对路径:由根目录 / 写起,例如: /usr/share/doc 这个目录。
- 相对路径:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:
cd ../man
这就是相对路径的写法。
2.2文件类型
常见:
- 以 - 开头:普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
- 以d开头:目录文件(蓝色)
- 以 . 开头:隐藏文件
非常见:
2.3文件管理命令(命令 选项 参数)
概念:
命令历史的查看方法:光标,也就是通过上下键
相对路径(cd到目标路径下):
- 当前位置:./或者什么都不用
- 上一级目录:../ 两级:../../
命令:
改变目录:
cd 绝对命令/相对命令
显示文件夹文件:
ls(list)、ll =ls -l(lang)
:显示详细信息ls -ld=ls -l -d
:显示文件和目录ls -a
: 全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)打印当前位置:
pwd
创建文件:
touch /d:/program files/{1.txt ,2.txt ,3.txt }
(可以创建多个)创建目录:
mkdir 路径和目录
- 在/home文件夹下创建a1文件夹:
mkdir /home/a1
创建多个目录:mkdir /home/{a1 , a2}
- 在/home文件夹下创建a1/b1两级文件夹:
mkdir -p /home/a1/b1
(当创建目录没有上一级时,自动创建) - 创建并显示创建过程:
mkdir -v
创建多级并且看到过程:mkdir -pv
- 例子:
mkdir -pv /home/{123/{aa,bb}, 456}
home下创建123,456两个文件夹,123下创建aa,bb两个文件夹
- 在/home文件夹下创建a1文件夹:
复制:
cp 源文件 目标文件夹
cp -r 原目录 目标文件夹
- 拷贝文件:
cp /home/a1/b1/c1.txt /root/桌面/
- 拷贝目录(及目录先全部文件和目录):
cp -r /home/a1 /root/桌面(recurse递归)
1
2
3
4
5
6
7
8
9
10常用参数:
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若clear问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !- 拷贝文件:
移动或改名:
mv 源文件路径 目标文件路径
移动并修改文件名:
mv 源文件路径 目标文件路径/文件名
只改名不移动,也得用mv
mv /temp/a111 /temp/b222
删除:
rm -rf 文件或目录的路径(强制删除)
删除home文件下的a1,a2文件,保留b1目录:
rm -rf /home/a*
删除home文件下的a1,b2,保留c3:
rm -rf /home/a1 /home/b2
查看文件内容:
全部:
cat 目标文件路径
翻页:
more 目标路径
。对于大文件,more可以从第一页显示,通过回车可以换行,空格可以翻页,:f :立刻显示出档名以及目前显示的行数一页一页翻动:
less 目标路径
。less运行时可以输入的命令有:1
2
3
4空白键 :向下翻动一页;
[ ]:向下翻动一页;
[ ] :向上翻动一页;
q :离开 less 这个程序头部:
head -4 /1.txt只看前四行
尾部:
tail -3 /1.txt 只看最后3行
grep:过滤关键字
grep dd /1.txt
注意:无法删除隐藏文件(以 . 开头的文件),想要删除隐藏文件只能通过隐藏文件的文件名删除
eg:
touch /home/{file1, file2, .file3}
rm -rf /home/*只能删除file1和file2
rm -rf /home/.file3
修改文件内容:
重定向:>
ls / 是查看根目录下的内容
ls / > /home/a1.txt 意思就是将ls /的结果输入/home/a1.txt
文件编辑器1:gedit(记事本)
文本编辑器2:vi/vim命令:
临时文件:vim /1.txt 异常退出时会产生一个临时文件(保存你之前的工作)
ls看不到,需要ls -a查看隐藏文件。
临时文件的解决:rm -rf
进入文本插入模式:i/o/a/A
进入可视化界面:v
进入末行模式(扩展模式): 冒号:
退出编辑器 : :wq写入并退出 :q!不保存退出 :w保存 :w /tmp/123.txt 另存为到tmp下
查找替换:1.5 s/原内容/新内容/全局
eg:1,5 s/123456/654321/g 将1-5行范围内的所有123456替换为654321
退出到命令控制模式:esc
复制光标的那一行:yy 粘贴刚才复制的一行到光标所在处:p
删除光标的一行: dd
复制或删除多行呢? 3yy就是复制3行,5dd就是删除5行
撤销:u
- 给每行添加标号:set nu 取消添加行号:set nonu 显示控制字符:set list
1 | - 光标定位:0 $行首行尾;gg G首行 末行 3G进到第三行;/String进行检索 |
写入文件
echo 把内容重定向到指定的文件中 ,有则打开,无则创建
1
2语法: echo '内容'>文件名称 覆盖模式
echo '内容'>>文件名称 追加模式1
2
3
4
5
6
7
8
9
10#示例:
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt
[root@centoslina01 kkb]# cat lina01.txt
jiaobaoyu
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt
[root@centoslina01 kkb]# cat lina02.txt
jiaobaoyu
jiaobaoyu
2.4文件的查找和压缩
1.查找
which:命令查找
1
2
3[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/lsfind:文件查找,针对文件名(最重要)
1
2
3
4
5
6
7
8
9find /etc -name '123.txt'(按姓名进行查找)
命令 路径 选项 描述
按文件大小查找:
find /etc -size +5M(+5M大于5M,-5M小于5M)
按目录深度查找:
find / -maxdepth 3 -a -name 文件名
按属主,属组查找:
find /home -user user01
按文件类型:(比如-:普通文件;l:链接文件;b:硬件文件;d:目录文件)locate:文件查找,依赖数据库
2. 打包(压缩):gzip/tar
1 | 一般Linux 上常用的压缩方式是选用tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成紧 |
2.5 查看文件内容
cat:查看文件内容
其他查看文件姿势的命令:
1,tac:从最后一行开始显示,可以看出tac与cat字母顺序相反;
2,nl:显示的时候输出行号;
3,more:一页一页的显示文件内容;
4,less与more类似,但它可以向前翻页;
5,head:只看前几行;
6,tail:只看最后几行;
7,od:以二进制的方式读取文件。
3.用户管理(/etc/passed)
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录
3.1用户/组基本概念
用户的作用:
查看当前登录的用户信息;查看文件的owner;查看运行进程的username
用户/组信息存储的文件:
查看:
1
用户基本信息文件(/etc/passwd,平时用的最多)
/etc/passwd(被冒号分割为7列字段)每一行是一个用户的信息
root:x:0:0:root:/root:/bin/bash 对应着分别是:
root:用户名
x:密码占位符,具体的密码信息保存在密码信息文件中
- 0:uid(Userid)给用户的编号
特权用户(超管):0;系统用户(如system,操作系统给自身的授权):1~499;普通用户:1000+
0:gid(Groupid):组编号,将用户又进行了分组
root:描述,对账号信息进行描述,如manager,student等,一般不需要描述,就用用户名
/root:家目录(用户的具体文件图片,下载等储存在家目录中)
/bin/bash(Bourne-Again Shell):登录shell(壳),运行命令解释器。定义,解释和执行命令
/bin/bash/nologin:表示该用户不能登入系统
用户密码信息文件(/etc/shadow)
- 1列(如aaa):用户名
- 2列(如$6$DBdYLADGNCM4FGS6FDS2): $6代表加密算法,后面的代表,后面的代表加密后的密码
3列(如18320):linux诞生时间到密码最后一次修改时间
4列(如0):最小间隔,密码最短的可修改时间。0也就是每天都可以修改,5就是5天内不能修改
- 5列(如99999):最大时间间隔,即密码有效期。99999也就是无限
- 6(如7):警告时间(比如最大间隔30天,倒数还剩7天弹出警告)
- 7.8列:不活动时间(长时间不用到期就禁用用户)和失效时间(超时就禁用用户)。
- 9列:预留
组信息文件(/etc/group)
用户在创建的时候就会创造出同名组,后面在创造同样权限的用户时,直接拖到组里就行了
被冒号被分割为4列:
- 1列(root):组名
- 2列(x):组密码
- 3列(0):组id
- 4列:组成员
3.2用户/组管理
上面说到的/etc/passwd,/etc/group,两个文件记录了用户和组的信息,其中用户信息中也包含了组的信息,也就是gid
用户
创建用户:useradd user01
- 更改用户id(默认从1001开始):useradd user01 -u 1100
- 指定用户家目录:useradd user01 -d /file
选项:
1
2
3
4
5
6#选项: -c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。修改密码(口令):passwd user01,,,弹出输入密码窗口,输入密码即可(root改自己的直接passwd就行)。默认用户名时修改当前用户
查看用户:id user01, 显示用户详细信息
删除用户:userdel -r(必须加) user01
修改用户属性:
usermod -s /sbin/nologin user01(让用户无法登陆)
usermod -u 1002 user01(将user01用户的uid修改为1002)
用户组
组的类型:基本组和附加组
基本组:随用户创建的组,组名随用户名,显示在etc/passwd(第四个参数),组路径在/etc/group
附加组:张三和李四用户创建的时候都创建了组,当张三又添加到了李四组的时候,李四组对于张三来说就是附加组,基本组只有一个,而附加组可以有多个。
创建组:groupadd net01 -g 2000
查看etc/group中组net01信息: grep ‘net01’ /etc/group
删除组:groupdel net01
把用户从组中删除:gpasswd -d A(用户名) GROUP(组名)
注意:用户至少有一个组
更改gid:groupmod -g 1520 B
命令总结
useradd创建用户
usermod修改用户
groupadd创建组
-u制定用户的uid
-g制定用户的基本组 usermod AAA -g CCC
-G制定用户的附加组
/etc/passwd查看的是用户的基本组(id)
/etc/group查看的是用户的附加组,id命令也可以
1 | 例子:创建AAA,BBB两个用户,创建CCC组;更改AAA的基本组为CCC,更改BBB的附加组为CCC;从CCC中删除BBB用户。 |
3.3提权(变身超管)
普通用户能力有限,平时尽量少用管理员,使用普通用户登录,但是当需要使用特殊权限行为时,可以切换身份
永久提权(切换用户):su(switch users)
su - root , 之后输入root用户密码就行了
exit 退出超管用户
也可以su - user01,切换到普通用户
临时提权:sudo,使用普通用户登录,获得部分特权功能
如何分配权限:
/etc/sudoers文件中107行:%wheel ALL=(ALL)NOPASSWD:ALL
允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令。
1
2
3
4
5在root用户下
useradd user01 -G wheel就给了user01权限
切换到user01用户下
useradd user02 //报错,还没有提权
sudo useradd user02 //当前用户没有权利,任何特权命令都需要sudo提权
4.文件权限(ls -l查看)
4.1概念:
网络上各种app的会员,授权都是对用户的授权,由管理员决定某个用户能否访问某些文件(图片,视频,执行文件等)。
设置权限的元素:
权限对象、权限类型
权限对象:ugo ,即属主、属组、其他。 a:全体用户
权限种类:读:r=4;写入:w=2;执行:x=1
4.2设置权限ugo(授权)
授权只是针对文件/目录,也就是让文件/目录在不同的属主、属组访问的时候可以指定权限。
注意-R参数,chmod -R操作可以对目录下的所有文件和目录实现修改
更改权限:
使用符号:
chmod u+r file1.txt
命令 对象加减权限 目标文件或目录
用户:u - r:减去权限 u=r:覆盖,不管之前的权限,现在就只有读权限
组: g = rwx
其他用户:o = r。。。
1
2eg:
chmod a=r-x file1//表示r-x对应rwx,就是给全体用户读和执行的权限通过ls -l file1查看文件详细信息
-rw-r--r--. 1 root root 0 4月 13 20:49 file1
第一列:权限设置 (11个字符)
刨去第一个-和最后一个.剩下9个字符:
前三个(rw-):属主权限;中间三个(r—):属组权限;最后三个(r—):其他权限
代表file1这个文件面对属主有读写权限,面对属组和其他只有读的权限
使用数字:
chmod u=1 file1 //表示属主具有执行权限
chmod 671 file1//表示属主6(rw-),属组7(rwx),其他人1(—x)
更改属主,属组
对之前的file1文件的属主和属组进行修改:
-rw-r—r—. 1 root root 0 4月 13 20:49 file1
更改属主和属组:chown user01. hr file1
-rw-r—r—. 1 user01 hr 0 4月 13 20:49 file1
只更改属主:
chown user01 file1
只更改属组:
chown hr file1
同时更改:
chown user01:hr file1
4.3设置权限ACL(acess control list)
问题:有一个文件需要给四个不同用户分配不同的权限怎么办?
属主,属组,其他用户只有三个权限类型肯定没法满足
这时候就需要ACL来进行补充,也就是ugo的加强版。限制用户对文件的访问
命令:
修改文件的用户权限列表:
setfacl -m u:user01:rwx file1.txt
setfacl -m g:hr:rwx file1.txt
setfacl -m o::rwx file1.txt
查看当前文件的用户权限列表:getfacl file.txt
删除列表中的某一用户的权限:
etfacl -x u:user01 file1.txt //将文件中某一用户的权限删除
etfacl -b file1.txt //将文件扩展出的权限全部删除
有了setfacl就不用了ls -l查看详细信息了,一个文件的多个用户权限设置只能通过getfacl看到,在ls -l显示的时候是多个设置叠加的结果
1 | setfacl -m u:user01:rwx file1.txt |
4.4特殊权限
特殊位:
suid(sgid)是针对文件所设置的一个特别的权限。
功能:使调用文件的用户,临时具备属主的能力。
命令:chmod u=s file.txt
详细信息显示的权限:-rwsr-xr-x.
此时别的用户调用file.txt的时候就具备了属主的权限
添加属性:
chattr:给文件添加限制属性,超管也会受影响
例如命令:Chattr +i file1.txt //文件禁止删除
进程掩码:
umask:新建文件和目录的权限会被umask影响
直接敲入umask就能看到,默认的权限掩码就是0022
之所以默认创建目录/文件夹的权限是755
就是用0777-0022
默认创建文件的权限是644
就是用0755-0111
设置umask即可以调整文件默认权限
5. 其他命令
5.1 查看进程快照
ps : - axu 显示当前进程的快照
查看Java进程:ps - axu | grep java
查看MySQL进程 ps - axu | grep mysql
5.2 管道 |
管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用
1 | ls --help | more #分页查看帮助信息,按q退出 |
6. VIM编辑器
6.1 vim模式
vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
6.1.1 命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
1 | 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被 |
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
6.1.2 输入模式
在命令模式下按下i就进入了输入模式。
1 | 在输入模式中,可以使用以下按键: |
6.1.3 底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
1 | 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。 |
6.2 实例
创建一个新的名为 lina03.txt 的文件:
1 | vim lina03.txt |
直接输入 vim 文件名 就直接进入 vim 的一般模式了。
PS: vim 后面一定要加文件名,不管该文件存在与否!
按下 i 进入输入模式(也称为编辑模式),开始编辑文字在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。
指令 | 说明 |
---|---|
:w | 将编辑的数据写入硬盘档案中(常用) |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q | 离开 vi (常用) |
:q! | 使用 ! 为强制离开不储存档案 |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
:set number |
显示行号 |
:set nonumber |
取消行号显示 |
7. 常用网络操作
7.1 主机名操作
1 | hostname :显示主机名 |
7.2 查询系统完整信息
1 | uname -a:显示完整的系统信息 |
7.3 IP操作
查看IP地址:ip addr
修改IP地址:修改/etc/sysconfig/network-scripts/
1 | cd sysconfig |
7.4 网络服务管理
1 | 查看网络服务状态:systemctl status network |
7.5 防火墙设置
1 | 查看防火墙状态: systemctl status firewalld |
8. Linux上部署Web项目
8.1 远程上传工具的使用
连接后直接拖拽
8.2 安装JDK
1、上传jdk文件到linux
使用SecureFX连linux后,将JDK压缩包上传到新建的mysoft文件夹。
2、解压压缩包
3、测试jdk是否安装成功
1 | [root@localhost mysoft]# ls |
4、配置环境变量
1 | [root@localhost bin]# cd / |
5、使环境变量及时生效
1 | [root@localhost /] |
6、查看变量是否更新成功:
1 | [root@localhost /] |
7、在任意目录下测试环境是否配置成功
1 | [root@localhost /] |
8.3 安装tomcat
安装Tomcat之前要保证JDK安装成功哦!
1、上传Tomcat压缩包到根目录的mysoft文件夹,之前已经完成
2、解压:
1 | tar -xzvf apache-tomcat-8.5.56.tar.gz |
3、启动Tomcat
1 | cd apache-tomcat-8.5.56/ |
4、关闭防火墙
5、关闭tomcat
sh shutdown.sh
8.4 安装MySQL
网上比较好的方法:
需要注意的问题:
这里的文件名应该是mysql.server
1
2
3检查一下/etc/init.d/mysql是否存在,若否,
cp /root/packet/mysql/support-files/mysql-server /etc/init.d/mysql
cp /root/packet/mysql/support-files/mysql-server /etc/init.d/mysqld用navicat进行远程访问前,应先关闭防火墙!!!
笨方法
YUM( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
它基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,无须繁琐地一次次下载、安装.
步骤1: 检测系统是否自带安装mysql
1 | [root@centoslina01 ~] |
步骤2: 删除系统自带的mysql及其依赖(防止后面安装发生冲突)
1 | [root@centoslina01 ~] |
步骤3: 给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写
1 | [root@centoslina01 ~]# wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm |
步骤4: 安装第一步下载的rpm文件
1 | [root@centoslina01 ~] |
[root@centoslina01 ~]# yum repolist enabled | grep mysql //列出你所有的yum repo文件
步骤5: 使用yum安装mysql
1 | [root@centoslina01 ~]# yum install mysql-community-server |
步骤6: 启动mysql服务
1 | [root@centoslina01 ~]# service mysqld start |
步骤7: 查看mysql是否自启动,并且设置开启自启动
1 | [root@centoslina01 ~]# chkconfig --list | grep mysqld |
1 | [root@centoslina01 ~] |
步骤8: 修改字符集为UTF-8
1 | [root@centoslina01 ~]# vim /etc/my.cnf |
修改完成后保存重启服务
1 | [root@centoslina01 ~]# service mysqld restart |
步骤9: 修改默认配置
1 | [root@centoslina01 ~] |
步骤10:授权远程登录
1 | 方案1:实现远程连接(授权法)- 将权限改为ALL PRIVILEGES |
1 | 方案2:实现远程连接(改表法) |
8.5 部署web项目
8.5.1 如何从idea导出war包
https://www.bilibili.com/read/cv6007628/
然后直接导入tomcat下的webapps就可以了,tomcat启动时自动部署!!
注意:在导入linux时需要必须用二进制传
8.5.2 错误解决
报错:
解决:
报错原因:这是web.xml文件存放的位置导致的,web.xml存放于web-info下访问受到限制,如下图:
解决:将web.xml文件移动到web content目录下问题就解决了
一个工程在eclipse里面正常运行,打成war包在本机的tomcat下面也可以运行,但是放到芝加哥的linux服务器的tomcat下面访问,结果是:
1
2
3
4
5
6
7HTTP Status 404 - Servlet action is not available
type Status report
message Servlet action is not available
description The requested resource (Servlet action is not available) is not available原来是 发到linux的时候 application.properties文件没有改登录数据库的用户名和密码!