rpm安装包管理

rpm(Redhat package manager)是redhat(红帽子)公司出品的一种软件包管理工具。目前大多数的linux厂商都支持rpm
优点:

  1. rpm方式安装软件非常方便。
  2. 配套的rpm资源丰富
  3. 软件包内容的校验
  4. 支持多种硬件

http://rpmfind.net/ 全球rpm镜像站,里面包含了所有的rpm。如果要安装某个软件,首先去此网站搜索下载。

dock 镜像都下载不了_linux


rpm的五大功能

  1. 安装 将软件安装到操作系统
  2. 卸载 将软件移除
  3. 升级 更新软件的新版本
  4. 查询 查询软件包的信息
  5. 验证 验证操作系统中的软件是否为rpm包中的软件

rpm的用法:

i:安装 install
e:卸载 erase
v:(verbose)安装的时候显示软件名称
h:(hash)安装的时候显示安装进度#######
U:(update)升级软件包
qa:(query all)显示当前操作系统安装的所有rpm包
ql: 查询软件安装包的所有文件
qf:  查询某个文件是哪个rpm安装的

查询所有的rpm包的个数

rpm -qa | wc -l

dock 镜像都下载不了_linux_02


查询是否安装了vsftp软件

rpm -qa | grep vsftp

dock 镜像都下载不了_dock 镜像都下载不了_03


安装vsftp

rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm

dock 镜像都下载不了_sql_04


卸载vsftp

rpm -e --nodeps  vsftpd  (卸载vsftp,忽略依赖关系)
rpm -e vsftpd

dock 镜像都下载不了_sql_05


查询rpm包安装到操作系统的所有文件

rpm -ql vsftpd

dock 镜像都下载不了_sql_06


通过操作系统的文件,查询此文件属于哪个rpm包释放出来的

rpm -qf 文件名

当你发现某目录下莫名出现了一个文件,先不要着急干掉,先执行一下这个命令,看是哪个软件安装的时候创建的,如果不属于任何软件,并且确定不是其他小伙伴创建的,再干掉

dock 镜像都下载不了_sql_07

Yum

Yum(yellow dog updater modified),使用rpm来安装软件,前提是需要rpm包,rpm的搜索下载,安装,更新,卸载都需要人工完成。有可能下载的rpm错误,或者rpm包依赖于其他的rpm包。Yum给我们提供了一个rpm的仓库,并且维护rpm之间的依赖关系。Yum可以自动现在rpm包,如果有依赖关系,也会自动下载被依赖的rpm包。Yum的资源也很丰富,fedora,suse,redhat…主流的linux厂商都支持yum。

Yum的功能和rpm一样,其实就是rpm的增强版,简化了rpm的操作。Yum安装源的配置文件/etc/yum.repos.d/CentOS-Base.repo
相当于当年Java中,自己手动引jar包和用maven的区别 修改默认的yum源站点
http://mirrors.aliyun.com/repo/Centos-7.repo 下载阿里云rpm镜像源的配置文件

wget http://mirrors.aliyun.com/repo/Centos-7.repo

dock 镜像都下载不了_sql_08


将下载的配置文件改名为默认的rpm镜像源配置

mv Centos-7.repo CentOS-Base.repo

dock 镜像都下载不了_linux_09

常用命令:

1. 列出镜像源
yum repolist

dock 镜像都下载不了_sql_10

2. 查询rpm包
yum search vsftp

dock 镜像都下载不了_linux_11

3. 安装rpm包

yum install rpm名

yum -y  install vsftpd.x86_64  (-y是遇见提示信息自动yes)

dock 镜像都下载不了_服务器_12

4. 卸载rpm包
yum remove vsftpd

dock 镜像都下载不了_dock 镜像都下载不了_13

5. 升级rpm包
yum  update  rpmname
yum  update  kernel  (有危险,升级失败,整个操作系统崩溃)

mysql安装

yum方式安装mysql服务

步骤一:首先下载mysql的yum源配置

根据MySQL的版本找到要下载的yum源

https://dev.mysql.com/downloads/repo/yum/

dock 镜像都下载不了_linux_14

下载mysql的yum源

wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

dock 镜像都下载不了_sql_15

步骤二:安装mysql的yum源

yum -y install mysql80-community-release-el7-7.noarch.rpm

dock 镜像都下载不了_mysql_16

步骤三:yum方式安装mysql

yum -y install mysql-server --nogpgcheck

–nogpgcheck 不校验数字签名

dock 镜像都下载不了_sql_17

注意点:
linux中的mysql默认表名和数据库名区分大小写,修改mysql的配置,使其不区分大小写。

① 关于lower_case_table_names参数对表名称或数据库名称大小写敏感的控制。
② Unix下默认为0,也就是大小写敏感的;Windows下默认为1,不敏感;macOS默认为2,存储区分大小写,但是在查询时会转换为小写。
③ 对于在大小写不敏感的系统(Windows和macOS)不能将该字段设置为0。

msyql8 默认是区分大小写的,在低版本比如 5.7等设置不区分大小写直接在
my.conf 的 [mysqld] 下添加

lower_case_table_names=1

重启mysql 服务即可,在8.0版本中,添加此配置会导致mysql服务重启失败,可在启动之前修改/etc/my.cnf中的变量,添加

lower-case-table-names=1

然后执行初始化命令:

mysqld --initialize --user=mysql --lower-case-table-names=1

如果 /var/log/mysql/mysqld.log中有提示以下错误:

2020-08-19T10:46:21.497887Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
2020-08-19T10:46:21.498110Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-08-19T10:46:21.498273Z 0 [ERROR] [MY-010119] [Server] Aborting

则需要把MySQL的数据目录清空,默认的位置为:/var/lib/mysql,运行的命令为:

rm -rf /var/lib/mysql

步骤四:使用mysql

1. 启动mysql

dock 镜像都下载不了_dock 镜像都下载不了_18

2. 命令行进入mysql

查询临时密码

cat /var/log/mysqld.log| grep password

dock 镜像都下载不了_linux_19


使用临时密码进入命令行

dock 镜像都下载不了_linux_20


但是不能做任何操作,因为为了安全起见,需要马上立即修改临时密码。

dock 镜像都下载不了_dock 镜像都下载不了_21

3. 修改root密码,5.8要求必须首先修改密码,不修改其他所有的命令不可以使用。
ALTER USER USER() IDENTIFIED BY '123456Admin@123';

dock 镜像都下载不了_linux_22

4. 修改密码策略:(好像8.0不是很好用,5.7可以用)

默认密码策略是要求数据库密码必须有一定的复杂度,否则无法创建密码,修改过密码策略,则可以设置简单的密码(如:root,1234),这一步如有特殊需要,可以另行搜索

修改mysql默认的密码策略

set global validate_password_policy=0;
set global validate_password_length=1;
flush privileges;

修改root用户的密码为root

alter user 'root'@'localhost' identified by 'root';

修改localhost以外,远程连接用户的密码为root

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
5. 赋予远程登陆权限(8.0亲测可用)

在MySQL8.0中和MySQL5.7不一样,MySQL5.7中只需要一条语句就完成了,然而在MySQL8.0需要用2条命令来完成,如下

CREATE USER 'root'@'%' IDENTIFIED BY 'Root@123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

第一句创建用户,第二句为赋予权限

6. 执行sql文件

将sql文件传入Linux系统中

dock 镜像都下载不了_服务器_23


执行sql文件

source 文件的位置

dock 镜像都下载不了_mysql_24

7. 导出sql文件
mysqldump -uroot -proot databasename > xxx.sql

dock 镜像都下载不了_服务器_25

8. 将idea中的代码打成war包,传到Linux中tomcat的webapp下

记得修改jdbc.properties中的配置为刚设置的Linux中MySQL的配置

dock 镜像都下载不了_mysql_26


复制到webapp目录下,tomcat自动解压

dock 镜像都下载不了_服务器_27


去浏览器登录确定Linux的MySQL可以用(能登录就能说明可以用)

dock 镜像都下载不了_sql_28

实战演练-发送邮件

步骤一:安装sendmail软件

查询是否有sendmail安装包

yum  search  sendmail

安装sendmail

yum  install  -y   sendmail.x86_64

dock 镜像都下载不了_linux_29

步骤二:配置发件人信息

  1. 开启smtp服务,并生成授权码
  2. 在linux配置文件中填写发件人信息
vim /etc/mail.rc
#接收邮件服务器
set from=xxxxxxx@qq.comset 
#发送邮件服务器
smtp=smtp://smtp.qq.com:587
#账户名
set smtp-auth-user=xxxxxxx
#授权码
set smtp-auth-password=********
#电子邮件地址
set smtp-auth=login

dock 镜像都下载不了_linux_30

步骤三:启动邮件服务

systemctl start sendmail

dock 镜像都下载不了_dock 镜像都下载不了_31

步骤四:发送邮件

echo "I miss you" | mail -s "mySubject" "xxxxxx@qq.com"

“I miss you” 邮件的内容
“mySubject” 邮件的主题
“xxxxxx@qq.com” 收件人