centos7 yum方式安装MySQL5.7
centos7 yum方式安装MySQL5.7
[root@localhost ~]# wget https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
为避免出现 源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确 的错误,应导入2022的密钥,见下行命令
[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@localhost ~]# yum -y install mysql-community-server
[root@localhost ~]# systemctl start mysqld.service
[root@localhost ~]# grep "password" /var/log/mysqld.log
2022-08-25T12:57:24.541900Z 1 [Note] A temporary password is generated for root@localhost: uHtloOduj0<I ##此处为MySQL初始密码uHtloOduj0<I
[root@localhost ~]# mysql -uroot -p
Enter password: ##此处输入uHtloOduj0<I登录MySQL
- 修改密码规则
修改为简单密码规则配置,必须修改两个全局参数
1.修改validate_password_policy参数的值的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
2.配置判断密码的标准就基于密码的长度
validate_password_length参数默认为8,他有最小值的限制,最小值为4
mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
- 查看MySQL密码配置规则
mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 4 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.00 sec)
参数解释
validate_password_dictionary_file ##插件用于验证密码强度的字典文件路径
validate_password_length ##密码最小长度,参数默认为8,最小值的限制为4
validate_password_mixed_case_count ##密码至少要包含的小写字母个数和大写字母个数
validate_password_number_count ##密码至少要包含的数字个数
validate_password_policy ##密码强度检查登记,0/LOW、1/MEDIUM、2/STRONG,默认是1
validate_password_special_char_count ##密码至少要包含的特殊字符数
- mysql修改密码
mysql> set password for 'root'@'localhost'=password('123123');
Query OK, 0 rows affected, 1 warning (0.00 sec)
redis安装脚本
#!/bin/bash
#shell脚本路径为:/data/tool/shell。redis文件路径为:/data/soft/redis
#shell脚本执行时需要定义redis路径、端口参数。
#判断使用root用户
if [[ $UID -ne 0 ]];then
echo "使用root 执行此脚本"
exit 1
fi
#定义安装文件路径和临时目录
#redisversion=redis-5.0.9
redisfile=/data/soft/redis
#redisport=16379
tempfile=redistempfile
#安装redis
read -p "请输入redis安装目录名(如:/data/redis):" redisversion
echo -e "redis部署路径:$redisversion\n"
read -p "请输入redis端口号(如:16379):" redisport
echo -e "redis端口修改为$redisport\n"
read -p "请输入redisIP(填写服务器本机ip地址):" redisip
echo -e "redis端口修改为$redisip\n"
read -p "请按[Enter]键开始安装redis程序" een
rm -f /var/run/yum.pid
rm -rf $redisversion
rm -rf data/soft/redis/$tempfile
echo "清理环境"
#yum安装依赖包
echo -e "\n\n\n Yum 安装依赖包"
yum install -y mpfr cpp ppl cloog-ppl libstdc++-devel gcc gcc-c++ zlib-devel
echo -e "\n\n\n Yum 安装依赖包完成"
chown -R root.root $redisfile
cd $redisfile
mkdir $tempfile
tar zxvf redis*.tar.gz -C $tempfile
mv $tempfile/redis* $redisversion
cd $redisversion
make
sed -i -r -e "/^bind 127.0.0.1/c \bind $redisip" $redisversion/redis.conf
sed -i -r -e '/^protected-mode/c \protected-mode no' $redisversion/redis.conf
sed -i -r -e "/^port 6379/c \port $redisport" $redisversion/redis.conf
sed -i -r -e '/^daemonize no/c \daemonize yes' $redisversion/redis.conf
#防火墙策略
echo "防火墙Iptable,添加端口策略:$redisport"
sed -i -r -e "12i \#redis端口\n-A INPUT -p tcp -m state --state NEW -m tcp --dport $redisport -j ACCEPT\n" /etc/sysconfig/iptables
systemctl restart iptables.service
echo -e "\n\nredis部署完成,部署路径:\n$redisversion\n启动命令:\ncd $redisversion/src/\n./redis-server ../redis.conf"
tomcat安装脚本
#!/bin/bash
echo "此脚本用于安装tomcat中间件"
if [[ $UID -ne 0 ]];then
echo "错误:使用root 执行此脚本"
exit 1
fi
#定义安装文件路径
installpath=/data/soft/tomcat/
#开始菜单,界面输入参数
read -p "请输入tomcat安装目录名(如:/data/tomcat8-public):" tomcatpath
echo -e "tomcat部署路径:$tomcatpath\n"
read -p "请输入tomcat启动的用户(如:hanweb,需要自行创建系统账号):" username
useradd $username
echo -e "用户权限为:$username账号\n"
read -p "请输入JDK安装路径(如:/data/jdk1.8):" jdkpath
echo -e "JDK部署路径:$jdkpath\n"
read -p "请按[Enter]键开始安装redis程序" een
#清理目录及进程
rm -f /var/run/yum.pid
rm -rf /data/soft/tomcat/tempfile
rm -rf /data/cronolog
rm -rf $tomcatpath
rm -rf $jdkpath
echo "清理环境"
#1、以下为Yum 安装依赖包
echo -e "\n\n\n Yum 安装依赖包"
yum install -y mpfr cpp ppl cloog-ppl libstdc++-devel gcc gcc-c++ zlib-devel
echo -e "\n\n\n Yum 安装依赖包完成"
sleep 5
#2、以下为安装JDK
chown -R $username:$username /data/soft/tomcat/
echo -e "\n\n\n安装JDK"
chown -R $username.$username $installpath
sleep 1
cd $installpath
mkdir tempfile
tar xvf jdk*.tar.gz -C tempfile
mv tempfile/jdk* $jdkpath
echo -e "\n\n\n安装JDK完成"
sleep 5
#3、以下为安装TOMCAT中间件
echo -e "\n\n\n安装TOMCAT中间件"
sleep 5
tar zxvf apache-tomcat*.tar.gz -C tempfile
mv tempfile/apache-tomcat* $tomcatpath
echo -e "\n\n\n安装TOMCAT中间件完成"
sleep 5
#4、以下为TOMCAT中间件优化
echo -e "TOMCAT中间件优化"
#server.xml优化
sed -i 's/connectionTimeout="20000"/connectionTimeout="20000"\nURIEncoding="UTF-8"\nmaxThreads="600"\nminSpareThreads="100"\nmaxSpareThreads="500"\nacceptCount="700"\nenableLookups="false"/g' $tomcatpath/conf/server.xml
sed -i 's/<Connector port="8009" protocol="AJP\/1.3" redirectPort="8443" \/>/<!--Connector port="8009" protocol="AJP\/1.3" redirectPort="8443" \/-->/g' $tomcatpath/conf/server.xml
echo -e "\n\n\nserver.xml优化完成"
sleep 3
#安装日志分割工具cronolog
chmod 755 cronolog*.tar.gz
tar zxvf cronolog*.gz -C tempfile
cd tempfile/cronolog*
./configure -prefix=/data/cronolog
make
make install
chown $username.$username /data/cronolog
echo -e "安装日志分割工具cronolog完成"
sleep 5
chmod 755 $installpath*.sh
cp -r $tomcatpath/bin/catalina.sh $tomcatpath/bin/catalina.sh.egg1.0
cp -rf $installpath*.sh $tomcatpath/bin/
sed -i "2a JAVA_OPTS=\"-server -Xmx1g -Xms2g -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m -Djava.awt.headless=true\" \n JAVA_OPTS=\"$JAVA_OPTS -verbose:gc -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:MaxTenuringThreshold=5 -XX:SurvivorRatio=4\" \n export JAVA_HOME=$jdkpath " $tomcatpath/bin/catalina.sh
echo -e "catalina.sh参数优化完成"
sleep 5
sleep 1
chown -R $username:$username $jdkpath
chown -R $username:$username $tomcatpath
chown -R $username:$username /data/cronolog
echo -e "JDK、TOMCAT、CRONOLOG 配置$username权限完成"
sleep 1
rm -rf $tomcatpath/webapps/*
echo -e "清空webapps目录完成"
sleep 1
echo -e "\n\n\nTOMCAT中间件优化完成"
sleep 5
#tomcat中间件配置apr
echo -e "\n\n\ntomcat中间件配置apr"
cd $installpath
tar zxvf apr-1.*.tar.gz -C tempfile/
cd tempfile/apr-1.*
./configure && make && make install
echo -e "Apr安装完成"
cd $installpath
tar -xzvf apr-util*.tar.gz -C tempfile/
cd tempfile/apr-util*
./configure --with-apr=/usr/local/apr && make && make install
echo -e "Apr-util安装完成"
cd $tomcatpath/bin/
tar -zxvf tomcat-native*.tar.gz
cd tomcat-native*/native
./configure --with-apr=/usr/local/apr --with-java-home=$jdkpath && make && make install
echo -e "Tomcat-Native完装完成"
sed -i "6a JAVA_OPTS=\"$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib\" \n export LD_LIBRARY_PATH=/usr/local/apr/lib " $tomcatpath/bin/catalina.sh
sed -i 's/ <Connector port="8080" protocol="HTTP\/1.1"/<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"/g' $tomcatpath/conf/server.xml
echo -e "修改server.xml 配置为APR模式完成"
echo -e "\n\n\ntomcat中间件配置aprp完成"
sleep 5
#tomcat自启动添加
echo "#$tomcatpath start" >> /etc/rc.local
echo "su - tomcat" >> /etc/rc.local
echo "$tomcatpath/bin/startup.sh" >> /etc/rc.local
exit
echo -e "\n\n\ntomcat自启动添加完成"
echo -e "\n\n\n脚本执行结束"
sftp脚本传输
#!/bin/bash
#待上传文件根目录
SRCDIR=/a/zxmhw/tar
#要上传的文件
FILES=`find ${SRCDIR} -name '*.gz'`
#上传文件的日期
targetDay=$(date "+%Y-%m-%d %H:%M:%S")
# 当前目录
CRTDIR=$(pwd)
#SFTP配置信息
#用户名
USER=ftpwy
#密码
PASSWORD="D92598DFsdf"
#FTP目录
DESDIR=/VOLTE/VOLTEUserHW
#IP
IP=130.17.130.56
#端口
PORT=22
#发送文件 (关键部分)
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
cd ${DESDIR}
put $FILES
by
EOF
find命令使用
find
作用:常在系统中作为查找文件所用到
语法:
find 查找位置 查找类型 [查找后所执行的操作]
查找位置:绝对路径或相对路径
查找类型:
-name:根据文件名查找
-iname:不区分大小写的方式查找,只支持*?[]^等风格
-perm:精确权限查找,后边接权限的掩码值,掩码值用法如下:
755:查找777权限的文件
/222:查找至少一类用户有写权限的文件
/002:查找其他用户有写权限的文件
-222:查找三类用户都有写权限的文件
-user:以用户名查找
-group:以组名查找
-nogroup:查找无属组的文件
-nouser:查找无属主的文件
-regex:匹配正则表达式进行查找,
-iregex:匹配正则并忽略大小写
-type:以文件类型查找
f:普通文件 d:目录文件 b:块设备文件 c:字符设备文件
l:链接文件 s:套接字符文件 p:管道文件
-size:以文件大小查找,包含K、M、G单位,正数表示大于,负数表示小于,整数代表等于
-atime:以访问天数查找,正负整数同上
-mtime:以数据修改天数查找,正负整数同上
-amin:以访问分钟数查找,正负整数同上
-mmin:以数据修改分钟数查找,正负整数同上
-empty:查找空文件
-follow:如find命令遇到符号链接文件,就跟踪至链接所指向的文件中
-maxdepth:从指定目录开始向下的几层目录开始查找
-newer:查找在此文件修改之前所修改的所有文件
处理动作:
-print:输出到屏幕,不需要添加,默认输出到屏幕
-ls:以ls长文件的格式输出
-delete:将查找到的文件删除
-fls 文件路径:将查找到的文件以ls详细信息的格式输出到某个文件
-exec: 命令 {} \; :将查找到的文件传递给shell命令进行处理,与此命令(|xargs shell命令)达到的目的相同
多个查找类型连接:
-a:在两个查找类型之间,表示和
-o:在两个查找类型之间,表示或
!:在查找类型前边,表示非,与查找条件相反
实例:
1.以结尾的文件名查找
find /etc/ -name "*.conf"
2.以结尾的文件名(忽略大小写)进行查找
find /etc/ -iname "*.conf"
3.以两个名称为条件进行查找,符合其中一个名称即可
find /etc/ -name "*.conf" -o -name "*.txt"
4.配合正则表达式进行查找
find . -regex ".*\(\.txt|\.pdf\)$"
5.否定条件查找
find /etc/ ! -name "*.conf"
6.根据文件类型查找,查找目录中的所有文件
find /boot/ -type f
7.查找局当前目录往深级的两级目录中的文件
find /etc/ -maxdepth 2 -type f
8.查找7天内被访问的文件
find /etc/type f -atime -7
9.查找7天前当天被访问过得文件
find /etc/ type -f -atime 7
10.查找7天前所有时间内被访问过的文件
find /etc/ -type f -atime +7
11.查找在修改此文件之前修改的所有文件
find /etc/ -type f -newer /etc/fstab
12.根据文件大小进行查找,+5k代表大于5k、-5k代表小于5k、5k代表等于5k
find /etc/ -type f -size +5k
13.查找空文件并且将其删除,三种方式:
find /etc/ -empty -delete
find /etc/ -empty -exec rm -rf {} \;
find /etc/ -empty |xargs rm -rf
14.根据文件权限查找文件
find /etc/ -type f -perm 777
15.查找出目录中的后缀为php,并且权限不是755的文件
find /etc/ -type f -a -name "*.php" -a ! -perm 755
16.查找出目录中的日志文件,并且其存在超过30天,将其复制到/tmp目录下
find /var/log/ -name "*.log" -a -mtime +30 -exec cp -rf {} /tmp \;
linux所有命令不能使用
出现这个问题一般是因为系统的环境变量没有正确的配置所造成的,造成这个原因有很多,比如系统升级,比如不正当操作。解决的方式有两种。
- 直接在linux命令行界面输入如下,然后回车(导入环境变量,以及shell常见的命令的存放位置)
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
- 如果系统所有命令都不能使用,还可以使用绝对命令vi打开/etc/profile
/bin/vi /etc/profile
##添加
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
source /etc/profile