rpm 与 YUM
rpm 包的管理
.RPM 扩展文件 类似于 setup.exe
rmp 包 简单查询指令:
查询 已安装的rpm列表rpm -qa | grep xxxx
rpm -qa | grep firefox
查看是否安装了火狐
rmp 包 查询 安装 卸载
rmp 包 简单查询指令:
查询安装过的所有rpm软件包 ;rpm -qa | more
即已安装程序
查询软件包是否 安装:rpm -q 软件包名
查询软件包信息:rpm -qi 软件包名
查询软件包中的文件:rpm -ql 软件包名
安装后的文件
查询文件所属的软件包:rpm -qf 文件全路径名
rmp -q firefox
rpm -qi firefox
rpm -ql firefox
rpm -qf /etc/passwd
删除 rpm 包
rpm -e rpm包名 (卸载软件)
rpm -e firefox
删除 firefox 软件包
安装 rpm 包rpm -ivh RPM包全路径名称
i : install ; v ; verbose 提示 ; h : hash 进度条
yum
yum list
| grep xxx 查看 yum 服务器是否有所需要安装的软件包,
yum install xxx 下载安装
yum install firefox
安装 JDK
1、将
.tar.gz
安装包mv
到/opt
/jdk 目录 ; jdk 通过mkdir
新建 ; opt 存放安装包
2、cd
到 jdk 目录下,并解压tar -zvxf jdkxxxx.zar.gz
解压 jdk 安装包
3.、将 解压后的文件夹mv
到/usr/local/
java ;类似于 windows 的program
; java 新建 ;
4、修改环境变量的配置文件vim /etc/profile
在末尾添加:
export JAVA_HOME=/usr/local/java/jdk-16.0.1
export PATH=$JAVA_HOME/bin:
$PATH
$PATH必须,相当跟原PATH进行拼接
5、
echo $PATH
查看环境变量 此时还未更新环境变量
6、source /etc/profile
刷新环境变量 必须
mysql 8.0 离线安装
1、选择此版本,链接点击这里 centos 7 版本;具体查找下载方法查看此视频
2、由于 centos 自带有类mysql数据库:MariaDB 会跟mysql冲突,要先删除
rpm -qa | grep mari
查看mariadb 相关安装包
rpm -e --nodeps xxxx
强制卸载相关安装包
3、将下载的安装包 .tar
移动mv
到 /opt/mysql
目录下 ,并解压; mkdir 新建目录
tar -xvf mysql-xxxx.tar
4、 安装 rpm 包
具体版本根据自己调整
rpm -ivh mysql-community-common
-8.0.25-1.el7.x86_64.rpm--nodeps
rpm -ivh mysql-community-libs
-8.0.25-1.el7.x86_64.rpm--nodeps
rpm -ivh mysql-community-client
-8.0.25-1.el7.x86_64.rpm--nodeps
rpm -ivh mysql-community-server
-8.0.25-1.el7.x86_64.rpm--nodeps
5、启动 mysql 服务
systemctl start mysqld.service
6、mysql 自动给 root 用户 设置随机密码
grep "password" /var/log/mysqld.log
查看初始命令
7、 重设密码:
调整密码验证规则:否则设置密码简单无法通过校验
set global validate_password.policy=0;
set global validate_password.length=1;
alter user 'root'@'localhost' identified by '新密码';
Centos 7 忘记mysql的root密码
1、关闭mysql服务
service mysqld stop
停止
2、修改 mysql 的配置文件:vim /etc/my.cnf
添加skip-grant-tables
设为无命令进入
3、启动服务service mysqld start
启动
4、登录mysqlmysql -u root -p
密码未空直接回车
5、选择设局库use mysql;
6、flush privileges;
后
7、修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
修改密码若提示:
Your password does not satisfy the current policy requirements
,表示密码设置简单,则须调整密码验证规则
MySQL 8.0 调整密码验证规则:
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
8、退出
exit
9、关闭服务service mysqld stop
10、重新进入my.cnf
配置文件vim /etc/my.cnf
,把之前添加的skip-grant-tables删除
至此 密码修改完毕。
开启服务并进入mysql
若无法启动mysql服务,通过查看日志
vim /var/log/mysqld.log
解决问题
Shell 编程
Shell : 命令解释器
shell 脚本执行方式
Shell 脚本
脚本要求:
1、以!/bin/bash
开头
2、须有可执行权限
;chmod
指令修改文本权限1、
vim hello.sh
2、chmod u+x hello.sh
增加用户可执行权限
3、./hello.sh
执行shell
脚本相对路径或绝对路径
执行脚本
sh hello.sh
cat hello.sh
查看脚本内容
shell 变量
运行shell时,会同时存在三种变量:
局部变量
局部变量在脚本或命令中定义
,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
Linux Shell 中的变量分为 :
使用set
指令查看当前 shell 中的所有变量;echo $变量
查看变量内容
系统变量:如
$PATH,$HOME,$USER ,...........
;
自定义变量:
基本语法:
1、定义变量 :变量名=值禁止加空格
2、撤销变量:unset
变量
3、声明静态变量:readonly
变量,注意:静态变量无法使用unset
cat -n var.sh
显示按行显示脚本内容
在 vim 编辑器中 输入nu 命令
可以显示 鼠标所在行的行号及内容
命令返回值赋给变量 两种方式:
设置环境变量
export 变量名=变量值
将 shell 变量 输出为环境变量/全局变量
source 配置文件
让修改后的配置信息立即生效
echo $变量名
查询环境变量的值
修改/opt/profile文件: 末尾添加:
export TOMCAT=/opt/tomcat
source /etc/profile
echo $TOMCAT
或echo "tomcat: $TOMCAT"
多行注释:
#!/bin/bash
:<<!
#多行注释
echo "hello"
echo "hello"
!
shell 程序位置参数变量(传参)
预定义变量 — 不多
运算符、 流程控制(if,case,for ,while)
expr \* , / , %
; 乘 除 取余 ** expr : expression **
if
if [ condition ]
中括号与条件判断式之间必须有空格
then codes
enif [ condition ]
then codes
fi
case
case $变量名 in
"value_1")
codes
;;
"value_2")
codes
;;
"*") 以上条件均不满足
codes
;;
esac
for
# 离散量 $* 与 $@ 区别
for 变量 in value_1 value_2 value_3
do
codes
done
# 范围量
for ((变量赋初值;循环条件;变量变化)) 注意 for 循环条件表达式 与 while 循环条件表达式的区别
do
codes
done
while
while [ condition ] 注意存在空格 中括号 使用 条件运算符 呢块
do
codes
done
read 读取控制台输入 – 程序交互
read (选项) (参数)
-p
指定读取值时的提示符
-t
指定等待时间/秒
函数
系统函数 - basename (获取文件名)、dirname (获取文件路径)
basename
: 返回完整路径最后 / 部分 , 常用于获取 文件名
basename pathname suffix
; suffix 为 后缀名
basename 命令会删除 pathname 字符串中 所有的前缀包括最后一个/
字符,然后将字符串显示出来
若 suffix 被指定了,basename 会将 pathname 字符串中的 后缀 去掉
dirname
: 返回完整路径最后 一个 / 的前面部分 , 常用于返回文件路径
部分
dirname 文件绝对路径
☆自定义函数
shell 编程案例— 备份MySQL数据 – 菜
python - hello world
vim hello.py
python3 hello.py
传送门
解决MySQL8.0报错:Unknown system variable 'validate_password_policy’
Job for mysqld.service failed because the control process exited with error
Linux:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cann
【报错】ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds t
完美解决 ERROR 1064 (42000): You have an error in your SQL…
shell 学习笔记1-什么是shell,shell变量
什么是环境变量,Linux环境变量及作用
☆Linux下的环境变量