第十五周作业

W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包 本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。 阅读详情

编写脚本,支持让用户自主选择,使用mysqldump还是xtraback全量备份。

#!/bin/bash
#
. /etc/init.d/functions
username=root
passname=123456
PS3="Please input a number[1|2]:  "
mysqldumpdir=/mysqldumpdir
xtrabackupdir=/xtrabackupdir-`date +"%F-%T"`
[ -d $mysqldumpdir ] || mkdir $mysqldumpdir
select backup_method in mysqldump xtrabackup;do
    case $backup_method in
        mysqldump)
            mysqldump -u${username} -p${passname} -A -F -E -R -q \
            --single-transaction --master-data=1 --flush-privileges \
            --triggers --default-character-set=utf8 \
            > $mysqldumpdir/`date +"%F-%T"`.sql && \
            action "`date +"%F-%T"` data backup to $mysqldumpdir" true || action "backup data" false
            break
            ;;
        xtrabackup)
            xtrabackup --user=$username --password=$passname \
            --backup --target-dir=$xtrabackupdir  \
            &> /dev/null && action "`date +"%F-%T"` data backup to $xtrabackupdir" true \
            || action "backup data" false
            break
            ;;
        *)
            echo "not support"
            ;;
    esac
done

配置Mysql主从同步

基于mysql5.7
master: 192.168.43.9
slave: 192.168.43.29
二进制包:/usr/local/src/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

配置 MySQL master

vim /scripts/install_mysql5.7.sh

#!/bin/bash                                                                                                                                                                                  
#
. /etc/init.d/functions
SRC_DIR=`pwd`
MYSQL='mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz'
COLOR="echo -e \\033[01;31m"
END='\033[0m'
MYSQL_ROOT_PASSWORD=123456
[ -d /data ] || mkdir /data
check (){
cd  $SRC_DIR
if [ !  -e $MYSQL ];then
        $COLOR"缺少${MYSQL}文件"$END
        $COLOR"请将相关软件放在${SRC_DIR}目录下"$END
        exit
elif [ -e /usr/local/mysql ];then
        action "数据库已存在,安装失败" false
        exit
else
    return
fi
}

install_mysql(){
    $COLOR"开始安装MySQL数据库..."$END
     yum  -y -q install numactl-libs   libaio mariadb &> /dev/null
    cd $SRC_DIR
    tar xf $MYSQL -C /usr/local/
    MYSQL_DIR=`echo $MYSQL| sed -nr 's/^(.*[0-9]).*/\1/p'`
    ln -s  /usr/local/$MYSQL_DIR /usr/local/mysql
    chown -R  root.root /usr/local/mysql/
    id mysql &> /dev/null || { useradd -s /sbin/nologin -r  mysql ; action "创建mysql用户"; }

    echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
    .  /etc/profile.d/mysql.sh
    cat > /etc/my.cnf <<-EOF
[mysqld]
server-id=9
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock                                                                                                   
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock
EOF
    mysqld --initialize --user=mysql --datadir=/data/mysql
    cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
    chkconfig --add mysqld
    chkconfig mysqld on
    service mysqld start
    [ $? -ne 0 ] && { $COLOR"数据库启动失败,退出!"$END;exit; }
    MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /data/mysql/mysql.log`
    mysqladmin  -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD &>/dev/null
    action "数据库安装完成"
}

check
install_mysql

运行脚本
在这里插入图片描述
配置

sed -i '/\[mysqld\]/a\gtid_mode=on\nenforce_gtid_consistency' /etc/my.cnf
service mysqld restart

mysql -uroot -p123456 -e "grant replication slave on *.* to repluser@'192.168.43.%' identified by 'centos';flush privileges;"

配置 MySQL slave

scp 192.168.43.9:/usr/local/src/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz /usr/local/src/
scp 192.168.43.9:/scripts/install_mysql5.7.sh /usr/local/src/

在这里插入图片描述
修改 install_mysql5.7.sh这个脚本

将 server-id=9 改成 server-id=29
将 log-bin这行删除掉
增加下面2行
gtid_mode=on
enforce_gtid_consistency
在这里插入图片描述
运行脚本,配置连接主的ip,用户名,密码,开启自动找二进制文件位置

mysql -uroot -p123456
MySQL [(none)]> CHANGE MASTER TO
    -> MASTER_HOST='192.168.43.9',
    -> MASTER_USER='repluser',
    -> MASTER_PASSWORD='centos',
    -> MASTER_PORT=3306,
    -> MASTER_auto_position=1;
MySQL [(none)]> start slave; 

在这里插入图片描述
测试主从是否成功
在 master 上导入 hellodb_innodb.sql
mysql -uroot -p123456 < hellodb_innodb.sql
在这里插入图片描述
在从节点上查看
在这里插入图片描述

使用MHA实现Mysql高可用

在这里插入图片描述
1 ) 基于 mysql5.7 GTID 主从搭建已经ok了
2 ) 准备软件包
mha4mysql-node-0.56-0.el6.noarch.rpm
mha4mysql-manager-0.56-0.el6.noarch.rpm

MHA 机器上安装 mha4mysql-manager-0.56-0.el6.noarch.rpm,mha4mysql-node-0.56-0.el6.noarch.rpm
[MHA]#

yum install mha*.rpm -y

master,slave1,slave2安装mha4mysql-node-0.56-0.el6.noarch.rpm
[master]#
[slave1]#
[slave2]#

yum install mha4mysql-node-0.56-0.el6.noarch.rpm -y

3 ) 基于key的认证
[master]#

ssh-keygen -P "" -t rsa -f /root/.ssh/id_rsa &> /dev/null
ssh-copy-id 127.0.0.1
scp -r ~/.ssh/ 192.168.43.19:/root/
scp -r ~/.ssh/ 192.168.43.29:/root/
scp -r ~/.ssh/ 192.168.43.39:/root/

4 ) 配置文件
[master]# vim /etc/my.cnf

[mysqld]
server-id=19
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock                                                                                                   
gtid_mode=on
enforce_gtid_consistency
skip_name_resolve
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock

[slave1]# vim /etc/my.cnf

[mysqld]
server-id=29
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock                                                                                                   
gtid_mode=on
enforce_gtid_consistency
read_only
skip_name_resolve
relay_log_purge=0
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock

[slave2]# vim /etc/my.cnf

[mysqld]
server-id=39
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock                                                                                                   
gtid_mode=on
enforce_gtid_consistency
read_only
skip_name_resolve
relay_log_purge=0
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid

[client]
socket=/data/mysql/mysql.sock

5 ) master ,slave1,slave2都授权
[master]#

MySQL [(none)]> grant all on *.* to mhauser@'192.168.43.%' identified by 'centos';
MySQL [(none)]> flush privileges;

6 ) 管理节点配置文件
[MHA]#

mkdir /etc/mha/

vim /etc/mha/app1.cnf
[server default]
user=mhauser
password=centos
manager_workdir=/data/mastermha/app1/
manager_log=/data/mastermha/app1/manager.log
remote_workdir=/data/mastermha/app1/
ssh_user=root
repl_user=repluser
repl_password=centos
ping_interval=1
[server1]
hostname=192.168.43.19
candidate_master=1
[server2]
hostname=192.168.43.29
[server3]
hostname=192.168.43.39
candidate_master=1

6 ) 测试 mha是否成功
测试ssh
在这里插入图片描述
测试 repl
在这里插入图片描述
7 ) 启动 mha
[MHA]#

masterha_manager --conf=/etc/mha/app1.cnf

在这里插入图片描述

8 ) 验证高可用性
当master挂了,会自动将master切换到backup节点上
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在RStudio中使用GitHub Copilot:代码自动生成,从此告别手敲! 可以通过自定义提示词来引导Copilot生成符合自己需求的代码。再看一个做统计分析的。 阅读详情

相关推荐

SAP PS模块预算控制实战:为什么你的采购订单金额和预算占用对不上?

本文深入解析SAP PS模块中采购订单金额与预算占用偏差的常见问题,揭示承诺成本与实际成本的分流处理机制。通过实战案例和六步定位法,提供发票拆分、跨年度预算等典型场景的解决方案,并分享预防性配置框架和最佳实践,帮助企业有效控制预算偏差。

weixin_30363981的博客 515

虚拟机网络连接的三种方式

虚拟机三种网络连接模式

m0_46553397的博客 5766

【DIY】使用STM32及PID算法实现一个磁悬浮玩具

今天教大家来做一个磁悬浮玩具。

小白白学电子 1万+

项目六 配置与应用NFS服务

任务一               配置简单的NFS服务器   第1步  查看NFS程序是否安装  通过 【rpm -qa | grep nfs 】命令查看NFS 是否安装。通过【rpm -qa | grep rpcbind】查看RPC是否安装。第2步  备份NFS配置文件在修改文件之前,请备份原先配置文件。使用【cp /etc/exports  / etc/exports.bak】命令配置主配置...

陈忠能 366

SAP PO开发-端到端配置

1.登录PO系统,选择system landscape,将外围系统的系统信息(Software Component以下简称SC)注册到PO系统中。2.点击products注册外围系统信息。3.选择New 新建 按钮:创建一个新的系统和版本。4.输入产品名称、供应商、版本号等信息。然后点击:Next。5.设置instance 名称,然后点击Next。6.最后设置软件组件的名称,然后点击Finish。

P9QCer的博客 1577

保姆级教程:在Ubuntu 20.04上从零搞定ROS Noetic和RealSense驱动,为无人机开发铺路

本文提供了一份详细的Ubuntu 20.04环境下ROS Noetic和RealSense驱动安装指南,专为无人机开发环境搭建设计。从系统配置、ROS安装到RealSense驱动集成,涵盖所有关键步骤和常见问题解决方案,帮助开发者快速搭建自主空中机器人开发平台。

weixin_30329623的博客 65

mysql的mysqldump,xtraback备份和还原

一 备份 1.1 为什么要备份 由于 硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等导致数据丢失,所以需要进行数据的备份。 1.2 备份注意要点考虑 能容忍最多丢失多少数据 ? 备份和恢复数据需要在多长时间内完成? 需要备份和恢复哪些数据 ? 在备份和恢复过程中对对运行的服务是否有影响? 这些需要我们在备份和还原的时候进行思考 1.3 我们备份什么? 相应的数据 使用的二进制日志、I...

liaowunonghen的专栏 756

UE5 GAS 学习笔记 1.2游戏标签

这一节对GameplayTag游戏标签进行详细的讲解。

CloudHuCoding 1927

第十五周作业:MySQL数据库

1、 导入hellodb.sql生成数据库 (1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄 MariaDB [hellodb]> select name,age from students where gender="M" and age>"25"; +--------------+-----+ | name | age | +--------------+-----+ | Xie Yanke | 53 | | Ding Dian

wauzy的博客 401

(论文加源码)基于CNN和LSTM的脑电情绪识别(数据集为DEAP和seed)

论文及源码见个人主页:https://download.youkuaiyun.com/download/qq_45874683/84118637?spm=1001.2014.3001.5503 (论文加源码)基于CNN和LSTM的脑电情绪识别(数据集为DEAP和seed)4D-CRNN 目录 目录: 运行过程: 1. 运行1D文件(没有什么bug): 2. 再运行3D文件(没有出现bug): 3. 最后运行main文件(出现了两个bug)(前提需要配置好tensorflow的框架): 第一个bug是..

qq_45874683的博客 6363

ICC2: 如何让CTS指定pin多长指定长度

这里create_clock不需要写到sdc里,在脚本里写就行,需要注意的是脚本里存在remove_clock_tree的话,add_buffer就要放remove_clock_tree后面,或者给guide buffer设don't touch也行。跟innovus的操作逻辑一样,如果要让tree上的某一点长长,要先考虑这个点后面的clock tree能正常balance。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?-5意味着长长5ns,相反正值意味着做短。

m0_61544122的博客 679

第十五周作业 —— sklearn

Train the algorithmsGaussianNBiris = datasets.load_iris()dataset = datasets.make_classification(n_samples = 1000, n_features= 10, n_informative= 2, n_redundant = 2, n_repeated = 0, n_classe...

16337137的博客 282

STM32CubeIDE开发环境搭建与GPIO控制实战

嵌入式开发中,MCU开发环境构建是软硬件协同的起点,其核心在于工具链选型、外设抽象层级与调试可靠性。HAL库作为ST官方标准硬件抽象层,通过统一接口屏蔽芯片差异,显著提升工程可移植性;而STM32CubeIDE则以图形化配置+自动生成代码的方式,实现‘配置即代码’的确定性开发范式。该组合在教学验证、原型迭代和中小规模量产中具备高性价比技术价值,广泛应用于智能传感、工业HMI及IoT终端等场景。本文聚焦STM32CubeIDE 1.15.0环境部署、MyST账户与固件包管理、ST-LINK驱动校验,以及基于H

weixin_33531560的博客 80

第十五周作业(一)

/* * 程序的版权和版本声明部分 * Copyright (c) 2011, * All rights reserved. * 文件名称:MFC做窗口程序 * 作    者:烟台大学计算机学院114-3 张洋 * 完成日期:2012年5月30日 */ 第一段 class Triangle { public: Triangle(){a=1;b=1;c=1;} T

427

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

第十五周的博客作业

第十五周博客作业

m0_74112156的博客 183

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

第十五周java实验作业

实验十五 GUI编程练习与应用程序部署 实验时间 2018-12-6 1、实验目的与要求 (1) 掌握Java应用程序的打包操作; Java程序的打包,程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以双击图标运行。 .jar文件(java归档)既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件。 JAR文件是压缩的,它使用zi...

dmup15100的博客 274

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 一键安装mysql5.7脚本
下一篇: 第十六周作业
studywinwin
博客等级 码龄7年 18粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值