rpm(Redhat package manager)是redhat(红帽子)公司出品的一种软件包管理工具。目前大多数的linux厂商都支持rpm
优点:
http://rpmfind.net/
全球rpm镜像站,里面包含了所有的rpm。如果要安装某个软件,首先去此网站搜索下载。
rpm的五大功能
rpm的用法:
i:安装 install
e:卸载 erase
v:(verbose)安装的时候显示软件名称
h:(hash)安装的时候显示安装进度#######
U:(update)升级软件包
qa:(query all)显示当前操作系统安装的所有rpm包
ql: 查询软件安装包的所有文件
qf: 查询某个文件是哪个rpm安装的
查询所有的rpm包的个数
rpm -qa | wc -l
rpm -qa | grep vsftp
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -e --nodeps vsftpd (卸载vsftp,忽略依赖关系)
rpm -e vsftpd
rpm -ql vsftpd
rpm -qf 文件名
当你发现某目录下莫名出现了一个文件,先不要着急干掉,先执行一下这个命令,看是哪个软件安装的时候创建的,如果不属于任何软件,并且确定不是其他小伙伴创建的,再干掉
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
mv Centos-7.repo CentOS-Base.repo
yum repolist
yum search vsftp
yum install rpm名
yum -y install vsftpd.x86_64 (-y是遇见提示信息自动yes)
yum remove vsftpd
yum update rpmname
yum update kernel (有危险,升级失败,整个操作系统崩溃)
yum方式安装mysql服务
根据MySQL的版本找到要下载的yum源
https://dev.mysql.com/downloads/repo/yum/
下载mysql的yum源
wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql-server --nogpgcheck
注意点:
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
查询临时密码
cat /var/log/mysqld.log| grep password
使用临时密码进入命令行
但是不能做任何操作,因为为了安全起见,需要马上立即修改临时密码。
ALTER USER USER() IDENTIFIED BY '123456Admin@123';
默认密码策略是要求数据库密码必须有一定的复杂度,否则无法创建密码,修改过密码策略,则可以设置简单的密码(如: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;
在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;
第一句创建用户,第二句为赋予权限
source 文件的位置
mysqldump -uroot -proot databasename > xxx.sql
记得修改jdbc.properties中的配置为刚设置的Linux中MySQL的配置
复制到webapp目录下,tomcat自动解压
去浏览器登录确定Linux的MySQL可以用(能登录就能说明可以用)
查询是否有sendmail安装包
yum search sendmail
安装sendmail
yum install -y sendmail.x86_64
vim /etc/mail.rc
#接收邮件服务器
set [email protected]
#发送邮件服务器
smtp=smtp://smtp.qq.com:587
#账户名
set smtp-auth-user=xxxxxxx
#授权码
set smtp-auth-password=********
#电子邮件地址
set smtp-auth=login
systemctl start sendmail
echo "I miss you" | mail -s "mySubject" "[email protected]"
“I miss you” 邮件的内容
“mySubject” 邮件的主题
“[email protected]” 收件人