Linux shell脚本 和 mysql 基本配置

linux网络配置:


1.为什么要进行网络配置? 
    1.ifconfig =》 查看不了ip  (无法远程登录)
    2.ip会变掉=》动态ip =》静态ip

    systemctl restart network =》 重启网络配置

配置ip:
    1.linux ip 
        1.vim /etc/sysconfig/network-scripts/ifcfg-ens33

        修改:
            BOOTPROTO=static
            ONBOOT=yes
            IPADDR=192.168.10.10  //linux ip
            GATEWAY=192.168.10.2  // => vm 
            DNS1=192.168.10.2
    
    2.vm ip 
        1.ip 
            192.168.10.0
        2.网关    
            192.168.10.2

    3.重启linux
        reboot 重启
        shutdown 关机


gh03 :
    1. linux ip  => 静态ip 
    2. vm ip :
        vm ip 
        1.ip 
            192.168.10.0
        2.网关    
            192.168.10.2
    3.测试是否成功: 
        linux =》 192.168.10.3

克隆机器:
    1.机器名
         vim /etc/hostname 
    2.ip
        vim /etc/sysconfig/network-scripts/ifcfg-ens33
    3.验证: 
        远程连接

shell : 
    1.编程语言
    2.可以执行的文件
    2.文件内容:就是linux命令组成在一起的

1.入门:
    shell脚本: xxx.sh 

    1.编写脚本
    vim wc.sh
    2.赋予脚本权限
    chmod 744 wc.sh
    3.执行脚本
        #!/bin/bash  =》 编写 =》 bin/bash执行器  bash 

        sh xx.sh

    1.编写脚本
        vim wc.sh
    2.执行脚本
        sh xx.sh

    执行脚本:
        1.赋予权限 
            ./xx.sh    【绝对路径、相对路径】
            sh xx.sh  【绝对路径、相对路径】
        2.没有赋予权限
            sh xx.sh

2.变量与引用
    1.变量

    [root@gh04 shell]# cat variable.sh 
    name="zuoshao"
    dt="date"
    dt1=`date`

    echo $name
    echo $dt
    echo $dt1

    赋予权限:
    [root@gh04 shell]# chmod u+x ./variable.sh

    shell变量: shell里面变量类型默认只有一种 string
        1.定义 : 
            k=v 
        2.分类:
            1.静态变量
                k=v k="v" k='v' 
            2.动态变量
                k=`v`
                v: 
                    1.变量
                    2.系统命令
        注意:
            1.= 前后不能有空格
            2.变量名字 都是大写 【规范】
            3.定义变量的时候 建议使用 {}

    2.引用: 
        $xx 
        ${xx}

3.传递参数

$n  想脚本传递参数 
    1.n 代表一个数字
1.
[root@gh04 shell]# cat parameter.sh 
echo "第一个参数:$1"
echo "第二个参数:$2"

2.
[root@gh04 shell]# cat parameter.sh 
echo "文件名:$0"
echo "第一个参数:$1"

echo "第二个参数:$2"
echo "参数的个数:$#"
echo "传递的参数作为一个字符串:$*"
echo "脚本运行时候的pid为:$$"

3.元素带有空格 ""
[root@gh04 shell]# ./parameter.sh "zuo shao"
文件名:./parameter.sh
第一个参数:zuo shao
第二个参数:
参数的个数:1
传递的参数作为一个字符串:zuo shao
脚本运行时候的pid为:5731


安装软件: 
    1.rpm 
    2.yum 
    3.tar 

rpm -qa | grep -i java | xargs -n1  rpm -e --nodeps

rpm -qa | grep -i java // rpm查询
rpm -e  --nodeps  //rpm卸载


文件名字:
    jdk-8u212-linux-x64.tar.gz

.gz =》 gzip 方式压缩的文件
jdk-8u212-linux-x64.tar =》 tar文件 【归档文件】

jdk-8u212-linux-x64 =》 linux 工具 tar命令 =》 归档文件

部署jdk:

    1.解压
        [root@gh04 software]# tar -zxvf ./jdk-8u212-linux-x64.tar.gz -C ~/app/
    2.部署
        配置环境变量
        vim ~/.bashrc 
        export  JAVA_HOME=/root/app/jdk1.8.0_212
        export PATH=${JAVA_HOME}/bin:${PATH}

        source ~/.bashrc

[root@gh04 jdk1.8.0_212]# ll
总用量 26000
drwxr-xr-x. 2 10 143     4096 4月   2 2019 bin  //jdk 的脚本
drwxr-xr-x. 5 10 143     4096 4月   2 2019 lib


4.数组
    语法格式:
        arr=(v1 v2 v3)

[root@gh04 shell]# cat arr.sh 
arr_name=(zuoshao banzhang haoge)
echo "数组所有元素:${arr_name[@]}"
echo "第二个元素:${arr_name[1]}"
echo "数组的大小:${#arr_name[@]}"

5.流程控制 
if else 
    语法格式
    if contdition ;then
        cmd ;
    else 
        cmd; 
    fi

contdition:
    [ 条件表达式 ]

    1、值判断
            数值类型和字符串
        =
        == 
            数值类型
        -lt  less 小于
        -le  less equals 小于等于 
        -gt  大于 
        -ge  大于等于
        -ne  不等于

案例: 
[root@gh04 shell]# cat if.sh 
name1="zuoshao"
name2="xuanxuan"

if [ ${name1} == ${name2} ];then
    echo "${name1} == ${name2}"
else
    echo "${name1} != ${name2}"
fi

思考: 
    shell 里面能不能debug?

    1.直接执行
        ./if.sh
    2.debug模式
        1.常用
        sh -x ./if.sh
        2.脚本里面 
            #!/bin/bash -x 

    if contdition ;then
        cmd ;
    elif contdition ;then
        cmd;
    else 
        cmd; 
    fi

案例: 
    [root@gh04 shell]# cat elif.sh 
input=$1

    if [ ${input} -gt 90 ];then
            echo "男神"
    elif [ ${input} -ge 60 ];then
            echo "轩轩"
    else
            echo "屌丝"
    fi

循环: 
    for while 

for: 
    语法格式: 
    for xx in arr 
    do
        cmd;
    done

[root@gh04 shell]# cat forwhile.sh 
for x in 1 2 3 4 5
do
    echo $x
done

for((i=1;i<=10;i++));  
do   
    echo ${i}
done

while: 
    while(条件)
    do 
        cmd;
    done

案例:
[root@gh04 shell]# cat forwhile.sh 
for x in 1 2 3 4 5
do
    echo $x
done

echo "------------"

for((i=1;i<=10;i++));  
do   
    echo ${i}
done
echo "------------"

a=0
while(($a <=5))
do
    echo "$a"
    let a++;
done

案例:
    遍历字符串数组

1.语法
function 
Switch case 

2.两个命令 
    awk 
    sed 


MySQL:
    1.使用场景? 
        1.java =》 app业务数据库 存储业务数据
        2.大数据 =》 框架 =》 元数据的库
                =》采集业务数据
                =》结果数据 =》 mysql =》 数据可视化
        3.没有it =》 excel =》 mysql oracle

    2.MySQL是什么?
        1.关系型数据库 
        2.类似一个表格
        3.有行有列
        4.存储数据的
    3.为什么学习mysql ? 
        1.掌握sql开发 =》 数据分析 sql 
        2.大数据 为后续大数据框架hive sparksql flinksql  =》 打下基础 sql 

    4.官网
        www.mysql.com 

MySQL部署:
    1.平台:
        1.linux 
        2.win : 
            数据分析 

    2.部署的方式: linux 
        1.rpm 方式部署【】
            1.方便
            2.学习
            3.不能够定制化
        2.tar包方式【二进制方式】
    
    3.版本: 
        三大版本: 
            5.6
            5.7 主流
            8.x    次主流 
                MySQL支持了开窗函数、

部署MySQL:
    1.解析tar 
    tar -zxvf  xxx.tar.gz 
    tar -xvf xxx.tar  
    [root@gh04 software]# tar -xvf ./mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar -C ./mysql

    2.安装mysql 
        rmp 包 
        1.卸载自带mysql相关的内容

            rpm -qa | grep mariadb 
                mariadb => mysql分支

            rpm -e  --nodeps mariadb-libs-5.5.68-1.el7.x86_64 
        2.安装 
        rpm -ivh xxx.rpm
    
        rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm 
        rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm
        rpm -ivh mysql-community-libs-compat-8.0.21-1.el7.x86_64.rpm
        rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm
        rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm


    rpm -qa | grep mysql | xargs -n1 rpm -e  --nodeps

    3.启动mysql

    每个软件 都有自己的 配置文件:
        vim /etc/my.cnf

            mysql日志文件:/var/log/mysqld.log
        
        第一次启动:
            mysqld --initialize --user=mysql

            日志临时密码: root@localhost: j9kkdlwe<doF 

        启动mysql    :
        systemctl start mysqld
        登录MySQL: 
            mysql -uroot -p

        修改密码: 
        alter user root@localhost identified by '123456';
        修改ip登录【任意ip】
        update mysql.user set host='%' where user='root';
        刷新权限
        flush privileges;

    远程连接:
        mysql远程连接工具: 
            Navicat 
            dbvear 【网盘连接 mysql相关资料】

        1.关闭防火墙
        systemctl stop firewalld
        systemctl disable firewalld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值