数据库备份和Shell基础测试及AWK(运维)

news2025/1/12 22:55:52

第一题:简述一下如何用mysql命令进行备份和恢复,请以test库为例,创建一个备份,并再用此备份恢复备份

备份步骤:

  1. 备份test库:使用mysqldump命令备份test库,并将备份写入一个.sql文件中。命令示例:mysqldump -u 用户名 -p 密码 test > backup.sql

恢复的步骤:

  1. 恢复备份:使用mysql命令将备份文件中的数据恢复到test库中。命令示例:mysql -u 用户名 -p 密码 test < backup.sql

第二题:简述一下MySQL主从复制的原理

MySQL主从复制的原理是将一个MySQL数据库服务器(主服务器)上的数据自动复制到另一个MySQL服务器(从服务器)上。

主从复制的步骤如下:

  1. 在主服务器上开启二进制日志(binlog)功能,记录数据库更新操作。

  2. 设置从服务器连接到主服务器,并将主服务器的binlog传输到从服务器。

  3. 从服务器接收到主服务器传输的binlog,并将其应用到从服务器的数据库中,实现数据同步。

第三题:简述一下冷备份和热备份的不同点以及各自的优点

冷备份和热备份是数据库备份的两种方式。

  1. 冷备份是在数据库关闭的情况下进行备份,备份期间数据库不可用。冷备份的优点是可以保证数据一致性,备份速度较快。缺点是备份期间数据库不可用,对业务造成影响。

  2. 热备份是在数据库运行的情况下进行备份,备份期间数据库仍可读写。热备份的优点是备份期间对业务无影响,数据库持续可用。缺点是备份过程可能影响数据库性能,备份速度相对较慢。

第四题:简述一下MySQL binlog的几种日志录入格式以及区别

STATEMENT、ROW和MIXED。

  • STATEMENT格式:以SQL语句的形式记录二进制日志,记录的是执行的SQL语句。优点是日志文件相对较小,缺点是在一些特定情况下,例如使用非确定性函数、触发器等,可能会导致数据不一致。

  • ROW格式:以行的形式记录二进制日志,记录的是行级别的改变。优点是能够确保数据一致性,缺点是日志文件相对较大。

  • MIXED格式:结合了STATEMENT和ROW格式,根据具体情况选择合适的格式进行记录。

第五题:简述一下MySQL数据库cpu飙升到500%怎么处理

  1. 查看当前数据库连接数和数据库操作情况,使用SHOW FULL PROCESSLIST命令。

  2. 检查数据库的性能参数配置,例如innodb_buffer_pool_size、query_cache_size等是否合理配置。

  3. 检查当前数据库的慢查询和高并发查询,尝试优化这些查询,例如添加合适的索引。

  4. 检查是否有异常或错误的查询语句占用了大量CPU资源,及时修复或优化这些查询.

  5. 可以考虑升级数据库服务器的硬件,增加CPU核心数或内存容量。

  6. 如有必要,可以使用数据库性能监控工具进行更详细的分析和调优。

第六题:简述一下数据库备份正确的做法

  1. 定期进行备份,确保数据的安全性。

  2. 使用合适的备份策略,根据业务需求选择全量备份或增量备份。

  3. 备份数据的完整性,保证备份的数据能够准确恢复。

  4. 将备份数据保存在安全可靠的位置,防止数据丢失或遭到破坏。

  5. 测试备份的可恢复性,确保备份数据能够成功恢复。

  6. 配置合适的备份工具和参数,确保备份的效率和可靠性。与业务需求相结合,根据数据的重要性和变化频率,灵活调整备份策略和频率。

第七题:简述一下数据库事务有几大特性,分别代表什么意思

  1. 原子性(Atomicity):事务中的操作要么全部执行成功,要么全部回滚,不会部分执行。

  2. 一致性(Consistency):事务执行前后数据库的状态保持一致,符合一定的业务规则和约束。

  3. 隔离性(Isolation):事务间的操作相互隔离,各个事务之间互不影响,保证数据的独立性。持久性(Durability):事务提交后,对数据库的改变是永久的,即使发生故障也不会丢失。

第八题:写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除

#!/bin/bash
find /path/to/directory -name "*.log" -type f -mtime +3 -delete

/path/to/directory替换为要查找的目录路径,保存脚本为.sh文件,通过命令chmod +x script.sh赋予执行权限,然后执行脚本即可删除符合条件的文件。

第九题:写一个脚本将某目录下大于100K的文件移动至/tmp下

#!/bin/bash
find /path/to/source -type f -size +100k -exec mv {} /tmp \;

/path/to/source替换为要查找的目录路径,保存脚本为.sh文件,通过命令chmod +x script.sh赋予执行权限,然后执行脚本即可将符合条件的文件移动至/tmp目录。

第十题:简述一下mysql主从延迟的各种原因

  1. 网络延迟:主从服务器之间的网络传输延迟导致数据同步延迟。

  2. 主库负载过高:主库的负载过高导致数据同步速度变慢。

  3. 从库配置不足:从库的硬件配置不足导致同步速度跟不上主库写入速度。

  4. 大事务:主库上发生的大事务可能会导致复制延迟,因为事务必须完全复制到从库才能进行提交。

第十一题:简述一下如何判断主从延迟

  1. 使用SHOW SLAVE STATUS命令查看从库的状态信息,其中Seconds_Behind_Master字段显示了从库与主库的延迟时间(单位为秒)。

  2. 监控主从复制的延迟情况,可以使用监控工具或脚本定时查询Seconds_Behind_Master字段的值,并根据条件判断延迟是否达到预期的阈值。

第十二题:简述一下mysql备份和恢复方法

  1. 使用mysqldump命令进行备份和恢复:通过导出和导入SQL文件的方式进行备份和恢复。

  2. 使用物理备份和恢复工具(如Percona XtraBackup):可以进行全量备份和增量备份,并支持快速恢复。

  3. 使用主从复制:将主库作为备份源,通过复制从库来实现备份和恢复。

  4. 使用第三方备份工具:如MySQL Enterprise Backup、mydumper等。

第十三题:简述一下数据库的几个缓存服务器

  1. Redis:开源的内存数据库,支持键值对存储和多种数据结构操作,具有高速读写和持久化功能。

  2. Memcached:开源的分布式内存对象缓存系统,用于加速动态数据库驱动的网站。

  3. Aerospike:高性能的分布式NoSQL数据库,具有灵活的数据模型和多种查询方式。

  4. Couchbase:基于Memcached和CouchDB的混合型缓存数据库,具有高性能和灵活性。

  5. Hazelcast:开源的分布式内存数据网格,提供分布式数据存储和计算能力。

第十四题:简述一下 ' 和 " 引号的区别

  • 单引号('):字符串中的内容会被原样输出,不会进行变量替换或转义字符处理。

  • 双引号("):字符串中的内容会进行变量替换和转义字符处理。

例如,在双引号中可以使用$var格式来引用变量,而在单引号中直接输出$var字符。

第十五题:简述一下 $? 表示什么意思

$?表示上一个命令的退出状态(返回码)。

  • 如果命令执行成功,退出状态为0。

  • 如果命令执行失败,退出状态为非零值,通常用于表示不同类型的错误。

通过检查$?的值,可以判断上一个命令是否执行成功,从而根据情况采取相应的处理。

第十六题:如何使用 awk 列出 UID 小于 100 的用户

awk -F: '$3 < 100 { print $1 }' /etc/passwd

该命令将以:为分隔符,以第3个字段(UID)小于100的行中的第1个字段(用户名)进行输出。

第十七题:如何获取一个文件每一行的第三个元素

awk '{ print $3 }' 文件名

文件名替换为你要处理的文件名,该命令将输出文件中每一行的第三个元素。

第十八题:找到一个网段内存活的ip,并存放到一个文件内,写出具体的shell脚本

#!/bin/bash
subnet="192.168.0"
for i in {1..255}; do
ip=$subnet.$i
if ping -c 1 -w 1 $ip >/dev/null; then
echo $ip >> alive_ips.txt
fi
done

subnet变量替换为指定的网段,保存脚本为.sh文件,通过命令chmod +x script.sh赋予执行权限,执行脚本后,存活的IP地址将被追加到alive_ips.txt文件中。

第十九题:Shell循环语句有哪些

  1. for循环:用于指定一个列表,然后对列表中的每个元素执行特定的操作。

  2. while循环:在指定条件为真(非零)的情况下执行一系列命令。

  3. until循环:在指定条件为假(零)的情况下执行一系列命令。

  4. select循环:用于创建菜单,让用户进行选择。

  5. foreach循环:用于遍历指定对象的集合。

第二十题:1到10数字相加,写出shell脚本

#!/bin/bash
sum=0
for ((i=1; i<=10; i++)); do
sum=$((sum + i))
done
echo $sum

第二十一题:用sed修改test.txt的23行test为tset

sed -i '23s/test/tset/' test.txt

该命令将在文件test.txt的第23行中将"test"替换为"tset",并将修改写入原文件。

第二十二题:简述一下except的用法和作用

except是一个Python语言中的关键字,用于捕获和处理异常,用法和作用如下:

  • 用法:except关键字后跟一个异常类型,用于捕获指定类型的异常。

  • 作用:当try语句块中发生指定类型的异常时,对应的except语句块将被执行,用于处理异常情况,防止程序终止并提供错误处理逻辑。

​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/945111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言基础之——结构体

前言&#xff1a;小伙伴们又见面啦&#xff0c;那么本篇文章&#xff0c;我们就将对C语言基础知识的最后一个章节——结构体展开讲解。 世上无难事&#xff0c;只要肯攀登&#xff01; 目录 一.什么是结构体 二.结构体讲解 1.结构体的声明和变量的定义 2.结构体成员的类型…

〖Python网络爬虫实战㉞〗- 图形验证码OCR识别

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

操作系统_文件管理(三)

目录 3. 文件系统 3.1 文件系统结构 3.2 文件系统布局 3.2.1 文件系统在磁盘中的结构 3.2.2 文件系统在内存中的结构 3.3 外存空闲空间管理 3.3.1 空闲表法 3.3.2 空闲链表法 3.3.3 位示图法 3.3.4 成组链接法 3.4 虚拟文件系统 3.5 分区和安装 3.6 小结 3. 文件系…

Javaweb入门

Spring Spring发展到今天已经形成一种开发生态圈&#xff0c;Spring提供若干个子项目&#xff0c;每个项目用于完成特定的功能。 Spring Boot可以帮助我们非常快速的构建应用程序、简化开发、提高效率 SpringBootWeb入门 需求&#xff1a;使用Spring Boot开发一个web应用&a…

不同代码写法的区别

目录 神经网络中输入在layer中写输入在build中写输入 输出format写法f代替format写法 zip不加*加* 打平Flatten方法reshape方法 数据打包(batch)tensorflowpytorch 神经网络中输入 在layer中写输入 layers.Dense(512, activationrelu, namelayer1,input_shape(784,)),此处784…

C语言 实现atoi函数

实现类似atoi函数&#xff0c;把字符串“123456”转换成数值123456 函数int atoi(char *str); 使用ubuntu进行多文件编译&#xff08;main.c head.h test.c&#xff09; head.h&#xff08;预处理&#xff09; #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.…

freertos之信号量

介绍 信号量这个名字很恰当&#xff1a; 信号&#xff1a;起通知作用 量&#xff1a;还可以用来表示资源的数量 当"量"没有限制时&#xff0c;它就是"计数型信号量"(Counting Semaphores) 当"量"只有0、1两个取值时&#xff0c;它就是"二进…

2023必备AIGC人工智能软件Top 6

随着人工智能技术的迅猛发展&#xff0c;越来越多的应用程序开始集成AIGC&#xff08;Artificial Intelligence Generated Content&#xff0c;人工智能生成内容&#xff09;功能&#xff0c;为用户提供更高效、更创造性的体验。在本文中&#xff0c;我们将分享6款实用的AIGC软…

C++ DAY7

一、类模板 建立一个通用的类&#xff0c;其类中的类型不确定&#xff0c;用一个虚拟类型替代 template<typename T> 类template ----->表示开始创建模板 typename -->表明后面的符号是数据类型&#xff0c;typename 也可以用class代替 T ----->表示数据类型…

php开发环境搭建_宝塔、composer

宝塔面板下载&#xff0c;免费全能的服务器运维软件 一 下载宝塔面板 解压安装 登录之后修改安全入口 1 进入软件商店下载nginx,mysql5.6,php7.2 2 将php的安装路径配置到环境变量中 此电脑--右键--点击属性---高级系统设置---环境变量---系统变量path---添加确定 输入php -v…

DC/DC开关电源学习笔记(三)开关频率和储能元件

&#xff08;三&#xff09;开关频率和储能元件 1.开关频率2.储能元件 1.开关频率 频率是开关电源的一个基本属性&#xff0c;它代表了直流电压开启和关断的速率。了解开关频率就可以了解实际应用中电源线路的工作原理。 开关电源利用开关动作将直流电转换为特定频率的脉冲电…

【教程】部署apprtc服务中安装google-cloud-cli组件的问题及解决

前置条件 已经安装完成node&#xff0c;grunt&#xff0c;node 组件和python pip包等。需要安装google-cloud-cli组件。 Ubuntu安装google-cloud-cli组件 apprtc项目运行需要google-cloud-cli前置组件&#xff0c;且运行其中的dev_appserver.py。 根据google官方的关于安装g…

应用于伺服电机控制、 编码器仿真、 电动助力转向、发电机、 汽车运动检测与控制的旋变数字转换器MS5905P

MS5905P 是一款 12bit 分辨率的旋变数字转换器。 片上集成正弦波激励电路&#xff0c;正弦和余弦允许输入峰峰值 幅度为 2.3V 到 4.0V &#xff0c;可编程激励频率为 10kHz 、 12kHz 、 15kHz 、 20kHz 。 转换器可并行或串行输出角度 和速度对应的数字量。 MS5905…

第 3 章 栈和队列(顺序栈,算法 3.1 、3.2、3.4)

1. 示例代码&#xff1a; 1) status.h /* DataStructure 预定义常量和类型头文件 */#ifndef STATUS_H #define STATUS_H/* 函数结果状态码 */ #define TRUE 1 /* 返回值为真 */ #define FALSE 0 /* 返回值为假 */ #define RET_OK 0 /* 返回值正确 */ #d…

Python Opencv实践 - Canny边缘检测

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_GRAYSCALE) print(img.shape)#图像Canny边缘检测 #cv.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradien…

【第1章 数据结构概述】

目录 一. 基本概念 1. 数据、数据元素、数据对象 2. 数据结构 二. 数据结构的分类 1. 数据的逻辑结构可分为两大类&#xff1a;a. 线性结构&#xff1b;b. 非线性结构 2. 数据的存储结构取决于四种基本的存储方法&#xff1a;顺序存储、链接存储、索引存储、散列存储 3. …

【Unity】终极移动指南-注解【理解移动到抓钩,再到贪吃蛇的实现】

文章目录 【Unity】终极移动指南-注解&#xff08;从移动、抓钩到贪吃蛇&#xff09;观前提醒链接地址&#xff1a; 内容一、 transform移动操作【1】transform.position变换位置【2】transform.Translate平移【3】transform.position 类似平移的操作【4】定向矢量【5】停在指定…

教你快速记单词。一套高效的单词记忆法,背单词技巧 英语没有一个单词需要死记硬背的,5天能不能记住1万个单词 CrazyEnglish视频学习

就是这些辅音是可以互换的&#xff0c;之后我们就是换元音来组成新的单词 整个欧洲基本说的都是方言&#xff0c;他们很多真的就是发音和书写在变 这张图片超级重要 其实跟我们小时候学的那个拼音的那个背记排序好像是一样的 &#xff08;看到这个视频的后面&#xff0c;你就…

Linux操作系统中特定软件的安装

Linux中特定软件的安装 1、yum仓库2、在Linux中安装JDK3、在Linux中安装MySQL4、VMware的安装5、在VMware中安装CentOS6、克隆虚拟机 1、yum仓库 yum install -y 安装包的名字 更换yum的base源&#xff1a; /etc/yum.repos.d/CentOS-Base.repo 1、需要把原先的数据源做一个备…