一 linux软件安装常用的方式对比

Linux下的软件安装,主要有如下三种,“正规”程度依次递减:

1、使用标准的yum/apt/yast包管理程序安装

2、使用标准rpm/deb或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装

3、直接解压软件开发者的tar.gz包

其中:

1、使用标准的yum/apt/yast包管理程序安装

这种安装方式相当于苹果/安卓平台上的“应用商店”安装,是最安全可靠的安装模式

通过这种方式安装的软件,不仅完全契合你的操作系统本身,而且可以保证和系统其他软件包的相容性,一般来说是不可能遇到冲突的。yum并不是一种包,它是安装包的一个软件,在CentOS中是软件包的管理器,yum也对依赖关系进行管理,但是必须要在联网的情况下完成。

Linux有很多发行版;其中一些面对服务器的版本会非常保守,里面的每一个软件都会经过连续多年的测试,稳定度极高。但相应的,这里面的软件就会老旧一些。

优点:安装方便,稳定度极高,与系统兼容性好

缺点:需要联网,有些软件版本老旧或没有

2、使用标准rpm/deb或厂商自己的安装包(比如nVidia的显卡驱动用的bin包)安装

rpm包安装几乎在所有Linux平台上都支持,它就像Windows下的exe安装文件一样,各种文件已经编译好,并打包,哪个文件在哪个文件夹里面都已经被指定好,所以很方便。但可能会因为你用了过新/过旧的安装包而和系统其他部分产生相容性问题——比如系统用python2.4你到网上拖了个python3或python1.5、又强行把它装上去还附加到路径最前,那么很可能就会造成其他依赖python的软件出现混乱。

优点:安装方便

缺点:兼容性没有yum方式好

3、直接解压软件开发者的tar.gz包

这种类似于Windows的“免安装绿色版”软件。

你可以把它解压到你自己的用户目录,然后在自己的bash.rc之类配置文件中,用export把它加入path——这样你才可以直接在shell中敲它提供的新命令。

优点:文档齐全

​ 因为可以定位到代码,所以debug方便

​ 本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)

缺点:编译麻烦

​ 缺乏自动依赖管理,软件升级麻烦

二 如何安装JDK

Author:呆萌老师 QQ:2398779723 微信 it_daimeng

1 yum常用命令

注:yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum常用命令

1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:
    yum install <package_name>     找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择
    yum -y install <package_name>  如果加上参数-y,就会自动选择y,不需要你再手动选择
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

2. 如何卸载系统自带的JDK

列举匹配已安装的java的软件包:yum list installed | grep java

或者yum list installed | grep jdk (比如用rpm安装的jdk,需要搜索jdk才能找到)

也可以用 rpm -qa | grep java 或 rpm -qa | grep jdk

在这里插入图片描述

卸载安装的jdk:yum -y remove java-1.8.0-openjdk*

在这里插入图片描述

在这里插入图片描述

当结果出现了完毕!,就表示卸载成功。

3 三种安装方式

推荐第二种

3.1方法一:利用yum源来安装jdk
优点:安装方便,不需要配置环境变量
缺点: 只能安装yum库中自带的openjdk版本,不能安装sun公司的jdk版本

查看yum库中的java安装包 :yum -y list java*

在这里插入图片描述

在这里插入图片描述

​ 安装需要的jdk版本的所有java程序:yum -y install java-1.8.0-openjdk*

在这里插入图片描述

在这里插入图片描述

​ 当结果出现了完毕!即安装完成。

​ 查看java版本:java -version

在这里插入图片描述

3.2 方式二 RPM方式安装
优点:安装方便,不需配置环境变量,不需安装相关依赖(依赖自动安装)

1、官网下载jdk的rpm文件(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

2、到该文件所在目录执行命令,我这里是存放在/data文件夹中

先卸载之前装的所有jdk版本(卸载方式见上文)

然后通过rpm命令安装

rpm -ivh jdk-8u251-linux-x64.rpm
"rpm命令"是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

在这里插入图片描述

3、默认安装在/usr/java/jdk1.8.0_251-amd64目录下

在这里插入图片描述

4、检查是否成功

java -version

在这里插入图片描述

5.配置环境变量(如果后续要使用tomcat,则需要配置环境变量,只用jdk不需要配置)

​ 1)利用vi /etc/profile编辑profile文件

​ 2)加入如下内容(jdk文件夹名称根据实际的填写)

#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
JRE_HOME=/usr/java/jdk1.8.0_251-amd64/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

​ 3)利用source /etc/profile让配置生效(无需该操作也可完成配置)。

​ 4)配置完成输入java -version

只用jdk,rpm方式不需要配置环境变量的原因

通过RPM方式安装时,是严格遵照Linux对环境变量的路径的要求,比如:

/usr/bin 可执行的命令安装目录

/usr/lib 程序所使用的库函数保存位置

/usr/share/doc 基本的软件使用手册保存位置

/usr/share/man 帮助文件保存位置

举例来说,我使用RPM安装的jdk1.8,安装完成后,没做任何配置,即可全局使用java命令,本以为安装过程自动在~/.bash_profile或者/etc/profile中做了环境配置,但是查看后并没有,通过$PATH也查看不到jdk的路径。

但是在 /usr/bin中看到了Java,javac命令

也就是说,将jdk安装目录下的bin下的java、javac等命令“复制”到了这里,当然这不是简单的复制,但道理就是那个道理。所以,也就是说,当我们在任意的位置执行java相关命令时,系统会到/usr/bin中来执行。

所以就可以理解为:/usr/bin是针对RPM安装的软件的profile文件,RPM安装过程会自动将一些可执行文件添加到/usr/bin里,从而“配置了环境”,而不需我们配置路径到profile里。

查看/usr/lib后也可以发现其中有jdk安装目录下的lib中的相关包,查看/usr/share/man后也可以发下其中有jdk安装目录下的man中的相关文档。

所以,说到这里,应该可以理解为什么RPM不需配置环境了。
3.3 方式三 源码编译

使用Xftp将下载好的jdk-8u251-linux-x64.tar.gz上传到CentOs上去

先将之前安装的jdk卸载掉(如果没有安装过可跳过此步骤)

1、复制安装包到/usr/java目录中(目录可以自己选):

cp jdk-8u251-linux-x64.tar.gz /usr/java/jdk-8u251-linux-x64.tar.gz

在这里插入图片描述

2、切换到/usr/java目录下:cd /usr/java

3、解压缩包:tar -zxvf jdk-8u251-linux-x64.tar.gz

在这里插入图片描述

解压成功(表式JDK已安装成功,可查看jdk的文件夹)

此时java -version命令还不能使用:

4、配置环境变量

使用vi /etc/profile 编辑profile文件 输入: vi /etc/profile

向文件里面追加以下内容:

#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_251
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

注释:

JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径,此路径下包括lib,bin,jre等文件夹(tomcat,Eclipse的运行都需要依靠此变量)。

CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设:.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib。CLASSPATH变量值中的.表示当前目录

PATH使得系统可以在任何路径下识别java命令,设为:$JAVA_HOME/bin:$JRE_HOME/bin。

特别注意:环境变量值的结尾没有任何符号,不同值之间用:隔开(windows中用;)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzzpPpfi-1668843626115)(pic/10.png)]

5、使配置文件生效:source /etc/profile

6、测试配置是否成功: java -version

7、源码编译的方式安装的jdk如何下载

卸载:

用java -version命令判断jdk是否安装(显示版本号等信息,说明已经安装)

which java(查看JDK的安装路径)

rm -rf JDK地址(卸载JDK)

rm -rf /usr/java/jdk/jdk1.8.0_251/

java -version查看是否卸载完毕

vi命令编辑文件profile vi /etc/profile

删除配置的环境变量,至此JDK卸载完毕

三 如何安装Tomcat

1下载

下载tomcat,从tomcat官网下载tomcat的压缩包。

Tomcat官网下载

在这里插入图片描述

2安装

2.1 将官网下载的apache-tomcat-8.5.57.tar.gz通过xftp上传到服务器中(我是放在根目录下的自建的data文件夹)

在这里插入图片描述

2.2 解压(进入到你的文件所在的目录)

tar -zxvf apache-tomcat-8.5.57.tar.gz		解压

2.3 重命名

mv apache-tomcat-8.5.57  tomcat8.5			重命名,非必须

2.4 复制tomcat8.5文件夹到usr/local下

​ 一般习惯将程序安装到local文件夹下.类似windows下的program files

mv  tomcat8.5  /usr/local/tomcat8.5

2.5 进入/usr/local/tomcat8.5/bin目录

 cd /usr/local/tomcat8.5/bin

3 启动

./startup.sh  启动Tomcat
./shutdown.sh  关闭Tomcat

在这里插入图片描述

4 测试

curl http://192.168.1.4:8080/

在这里插入图片描述

在这里插入图片描述

四 如何安装Mysql

使用yum源安装

1.卸载已有的mysql

查询已安装的mysql(可能没有)

yum list installed | grep mysql

在这里插入图片描述

如果存在已安装的,则卸载

yum -y remove mysql-community-*

*在这里匹配任意字符,可以一次卸载多个。

在这里插入图片描述

卸载完成

在这里插入图片描述

2.配置仓库

由于CentOS 的yum源中没有mysql,需要到mysql的官网下载rpm文件或者配置 repo文件去镜像下载。

mysql 镜像之一:https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/

在这里插入图片描述

如何配置 repo文件:

[root@localhost ~]# vim /etc/yum.repos.d/mysql.repo
添加
[mysql5]
name=mysql57
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0

在这里插入图片描述

在这里插入图片描述

3.安装指定版本

[root@localhost ~]# yum install mysql-community-server-5.7.14 -y

在这里插入图片描述

4.检查是否安装成功

yum list installed | grep mysql

在这里插入图片描述

5.启动

​ service mysqld start

6.跳过登录验证.

​ 如何设置跳过登录验证

​ 6.1 编辑my.cnf文件: vim /etc/my.cnf

在这里插入图片描述

​ 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程

​ 6.2保存文档并退出

​ 6.3重新启动mysql

在这里插入图片描述

6.4 登录

在这里插入图片描述

7.免密登录后设置初始密码

mysql5.7开始 密码字段不再是password而是authentication_string:

update mysql.user set authentication_string=password(‘新密码’) where user=‘root’ and Host = ‘localhost’;

在这里插入图片描述

8.测试用新密码登录

先退出: quit

在这里插入图片描述

​ 启动mysql

​ service mysqld start

​ 登录

在这里插入图片描述

​ 出现Mysql> 代表登录成功.

9.取消“跳过登录验证”

现在有密码了,需要取消“跳过登录验证”,不然可以无密码登录

1.输入quit;退出mysql

在这里插入图片描述

2.编辑my.cnf文件

​ vim /etc/my.cnf

在这里插入图片描述

​ 删除刚加入的“skip-grant-tables”,保存退出

3.重新启动mysql

在这里插入图片描述

10.修改初始设定的密码

1.第一次安装完mysql不管是用临时密码登入还是通过免密方式修改密码登入之后,如果没有马上修改密码,而有其他的对数据库的操作动作都会报错,要求先修改密码。

在这里插入图片描述

2.这个时候需要修改密码

如果密码格式简单(比如只有小写字母和数字),会报错

alter user user() identified by ‘daimenglaoshi666’

在这里插入图片描述

如果密码格式复杂(有大写字母,小写字母,数字,特殊符号),则成功

alter user user() identified by ‘Daimeng666=’;

在这里插入图片描述

原因分析:

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CQeNR8s4-1668843626128)(pic/20180226165346246)]

强度为LOW,LOW代表什么?代表密码任意,但长度在8位或以上。

强度为MEDIUM,这个强度代表什么?代表密码包括:数字、大写字母、小写字母、特殊符号、长度8位以上。

强度为STRONG,这个时候必须先满足0,1的要求,然后它还追加了一个,对于密码中任意连续4个(或4个让上)字符不得是字典中的单词。

查看默认的密码策略会发现是 1 。

select @@validate_password_policy

在这里插入图片描述

可以通过命令自己修改策略。

set global validate_password_policy=0;

在这里插入图片描述

再修改密码,则简单密码也可以通过,一般开发时还是建议设置复杂一点的密码。

在这里插入图片描述

3 密码修改好以后,可以正常操作数据库

在这里插入图片描述

11.测试sql,和windows里一样

在这里插入图片描述

12.其它配置

12.1开启远程控制

MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。

方式一:

1.1、连接服务器: mysql -u root -p

1.2、看当前所有数据库:show databases;

1.3、进入mysql数据库:use mysql;

1.4、查看mysql数据库中所有的表:show tables;

1.5、查看user表中的数据:select Host, User from user;

1.6、修改user表中的Host: update user set Host=‘%’ where User=‘root’;

​ 说明: % 代表任意的客户端,可替换成具体IP地址。

1.7、最后刷新一下:flush privileges;

​ 注意:一定要记得在写sql的时候要在语句完成后加上" ; "

方式二:

​ 使用 grant 命令添加远程访问权限

 grant all privileges on *.* to root@"%" identified by "Daimeng666=";
 或
 grant all privileges on *.* to root@"192.168.1.4" identified by "Daimeng666=";
 
 格式说明

 grant all privileges on 数据库名.表名|*.* to 创建的用户名(root)@"%|ip" identified       by  "密码";

 @ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)

如果要移除允许远程访问的权限:

​ 1.进入mysql数据库:use mysql;查询user表会发现表中新增了一条记录

在这里插入图片描述

​ 2.删除刚添加的权限记录

​ delete from user where host=‘%’ and user=‘root’;

​ 3. 刷新一下:flush privileges;让权限生效

在这里插入图片描述

12.2 关闭MySQL

service mysqld stop

12.3 重启MySQL

service mysqld restart

12.4 查看MySQL运行状态

service mysqld status

12.5 设置开机启动

service mysqld enable

12.6 关闭开机启动

service mysqld disable

12.7 配置默认编码为utf8:

vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect=‘SET NAMES utf8’

其他默认配置文件路径:

配置文件:/etc/my.cnf

日志文件:/var/log//var/log/mysqld.log

服务启动脚本:/usr/lib/systemd/system/mysqld.service socket

文件:/var/run/mysqld/mysqld.pid

12.8 查看版本

select version();

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐