LiangGaRy-学习笔记-Day28

news2024/11/26 12:27:54

1、回顾知识

1.1、docker启动MySQL

安装docker

#准备好二进制的包
[root@Node2 ~]# ls docker-20.10.9.tgz 
docker-20.10.9.tgz
[root@Node2 ~]# 

#解压docker的二进制包
[root@Node2 ~]# tar -xf docker-20.10.9.tgz 

#把它移动到/usr/local/下
[root@Node2 ~]# mv docker /usr/local/docker

#修改一下docker的属主
[root@Node2 ~]# chown -R root:root /usr/local/docker/

#创建docker用户
[root@Node2 ~]# /usr/local/docker/dockerd^C

#给PATH路径添加docker
[root@Node2 ~]#PATH=/usr/local/docker/:$PATH

#启动docker
[root@Node2 ~]# dockerd &
[1] 6947
  • 让docker拉取一下mysql5.7
    • docker pull mysql:5.7
  • 然后创建一下mysql的容器
    • docker run命令
#拉取mysql5.7
[root@Node2 ~]# docker pull mysql:5.7

#查看一下镜像
[root@Node2 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        5.7       2be84dd575ee   7 weeks ago   569MB

#启动mysql
[root@Node2 ~]# docker run -p 3306:3306 --name mysql -v /data/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
d9c5a7cdf701a5f57fb1858fbf3eb64392f0d31358202da2934eaf4c897823e6

#查看一下是否启动了
[root@Node2 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED              STATUS              PORTS                                                  NAMES
d9c5a7cdf701   mysql:5.7   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

  • 登入mysql
    • 修改密码
#登陆mysql
[root@Node2 ~]# docker exec -it mysql /bin/bash

#授权本地登陆
bash-4.2# mysql -uroot -p'root'

#授权用户登录
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

#然后尝试登录
	#先安装mysql的相关命令
[root@Node2 ~]# yum -y install mariadb

#然后尝试登录mysql
[root@Node2 ~]# mysql -uroot -p'123456' -h 127.0.0.1
	#进去之后在查看是否是5.7版本
MySQL [(none)]> select version();
+-----------+
| version() |
+-----------+
| 5.7.42    |
+-----------+
1 row in set (0.00 sec)

1.2、数据库与数据表操作

创建数据库

#创建数据库
mysql> create database LJW;
	#进入到数据库
mysql> use LJW;

#创建数据表格
mysql> create table ying_xiong(
    -> id int(20),
    -> name varchar(50),
    -> sex ENUM('男','女') not null,
    -> birthdate DATE,
    -> stype varchar(50),
    -> description text
    -> );

#插入对应的数据
mysql> insert into ying_xiong (name,sex,birthdate,stype,description) values('张三丰','男','0928-01-01','太极拳','张三丰是太极派的创始人');
Query OK, 1 row affected (0.00 sec)

#查看数据
mysql> select * from ying_xiong;
+------+-----------+-----+------------+-----------+-----------------------------------+
| id   | name      | sex | birthdate  | stype     | description                       |
+------+-----------+-----+------------+-----------+-----------------------------------+
| NULL | 张三丰    || 0928-01-01 | 太极拳    | 张三丰是太极派的创始人            |
+------+-----------+-----+------------+-----------+-----------------------------------+
1 row in set (0.00 sec)

创建数据表格

#查找一下数字
mysql> select name,description from ying_xiong;
+-----------+-----------------------------------+
| name      | description                       |
+-----------+-----------------------------------+
| 张三丰    | 张三丰是太极派的创始人            |
+-----------+-----------------------------------+
1 row in set (0.00 sec)

#添加一些数据
mysql> alter table ying_xiong add deleted boolean not null default 0;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

#查看数据
mysql> select name,sex,description from ying_xiong;
+-----------+-----+-----------------------------------+
| name      | sex | description                       |
+-----------+-----+-----------------------------------+
| 张三丰    || 张三丰是太极派的创始人            |
+-----------+-----+-----------------------------------+
1 row in set (0.00 sec)

#更新数据
mysql> update ying_xiong set description='张三丰是伟大的人,是太极派的创始人哦' where name='张三丰';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

#查看数据
mysql> select * from ying_xiong;

#专门查看某些数据
mysql> select * from ying_xiong where name='张三丰';

2、SQL语句操作

2.1、数据查询操作

#创建一个数据库
mysql> create database GAME;
Query OK, 1 row affected (0.00 sec)
	#进入到数据库
mysql> use GAME;
Database changed
	#查看一个数据库
mysql> select database();
+------------+
| database() |
+------------+
| GAME       |
+------------+
1 row in set (0.00 sec)
  • 创建一个数据表格
    • 字段含有:
      • id 存储的标号 int
      • name 英雄名字 varchar
      • level 等级 int
      • role 职业 varchar
      • health 生命值 int
      • mana 魔法值 init
      • description test 描述
#创建一个数据表格
mysql> create table game_characters(
    -> id int(10),
    -> name varchar(30),
    -> level int(15),
    -> role varchar(50),
    -> health int(10),
    -> mana int(15),
    -> description text);
Query OK, 0 rows affected, 4 warnings (0.12 sec)

#插入数据
mysql> insert into game_characters (name,level,role,health,mana,description)
    -> values
    ->  ('大乔','50','法师',1000,800,'大乔是一位法术攻击型的角色'),
    -> ('小乔', 45, '刺客', 800, 500, '小乔是一位敏捷且擅长暗杀的角色。'),
    -> ('曹操', 55, '战士', 1200, 200, '曹操是一位勇猛的近战战士。'),
    -> ('刘备', 50, '勇士', 1100, 300, '刘备是一位正直而有领导力的角色。'),
    -> ('孙权', 48, '射手', 900, 600, '孙权是一位精通远程射击的角色。');

#查看数据信息
mysql> select * from game_characters;

#选择其中的字段来显示出来
mysql> select name,level from game_characters;
+--------+-------+
| name   | level |
+--------+-------+
| 大乔   |    50 |
| 大乔   |    50 |
| 小乔   |    45 |
| 曹操   |    55 |
| 刘备   |    50 |
| 孙权   |    48 |
+--------+-------+
6 rows in set (0.00 sec)
  • 去重–>数据当中有重复的,就去重
    • 指定一个字段的数据来去重
    • 使用到distinct
#去重;指定level
mysql> select distinct level from game_characters;
+-------+
| level |
+-------+
|    50 |
|    45 |
|    55 |
|    48 |
+-------+
4 rows in set (0.00 sec)
  • 逻辑关系使用到的and和or
    • and:并且
    • or:或者
    • 用于查询多个条件的数据
#查询登记大于或者等于50且职业为法师的人物
mysql> select * from game_characters where level >=50 and role = '法师';
+------+--------+-------+--------+--------+------+-----------------------------------------+
| id   | name   | level | role   | health | mana | description                             |
+------+--------+-------+--------+--------+------+-----------------------------------------+
| NULL | 大乔   |    50 | 法师   |   1000 |  800 | 大乔是一位法术攻击型的角色              |
| NULL | 大乔   |    50 | 法师   |   1000 |  800 | 大乔是一位法术攻击型的角色              |
+------+--------+-------+--------+--------+------+-----------------------------------------+
2 rows in set (0.00 sec)

#查询级别小于50或者法力值大于1000的人物
mysql> select * from game_characters where level < 50 or mana >= 1000;
+------+--------+-------+--------+--------+------+--------------------------------------------------+
| id   | name   | level | role   | health | mana | description                                      |
+------+--------+-------+--------+--------+------+--------------------------------------------------+
| NULL | 小乔   |    45 | 刺客   |    800 |  500 | 小乔是一位敏捷且擅长暗杀的角色。                 |
| NULL | 孙权   |    48 | 射手   |    900 |  600 | 孙权是一位精通远程射击的角色。                   |
+------+--------+-------+--------+--------+------+--------------------------------------------------+
2 rows in set (0.01 sec)

#查询登记介于40到60之间,并且职业为战士或者法师的人物
mysql> select * from game_characters where (level >=40 and level <=60) and (role = '战士' or role = '法师');
+------+--------+-------+--------+--------+------+-----------------------------------------+
| id   | name   | level | role   | health | mana | description                             |
+------+--------+-------+--------+--------+------+-----------------------------------------+
| NULL | 大乔   |    50 | 法师   |   1000 |  800 | 大乔是一位法术攻击型的角色              |
| NULL | 大乔   |    50 | 法师   |   1000 |  800 | 大乔是一位法术攻击型的角色              |
| NULL | 曹操   |    55 | 战士   |   1200 |  200 | 曹操是一位勇猛的近战战士。              |
+------+--------+-------+--------+--------+------+-----------------------------------------+
3 rows in set (0.00 sec)

查询排序

  • 默认是升序:asc(可以省略不写的)
  • 降序需要指定:desc
    • order by (指定按哪一个字段来进行排序)
#按照等级的高低进行排序
mysql> select * from game_characters order by level desc;

#按照升序来排序,并且按照生命值的高低来盘排--->这里的asc可以是忽略不写
mysql> select * from game_characters order by health asc;
mysql> select * from game_characters 
	#按照health的字段来升序排序
mysql> select * from game_characters order by health 
    -> ;

#按照多个字段来进行排序
	#这里按照health的值来升序排序,并且按照等级level的降序来排序
mysql> select * from game_characters order by health asc,level desc;

一个购物网站的布局模块如下:

  • 用户模块
    • userID
    • username
    • password
    • email
    • phone
    • weixin
    • address
    • city
  • 商品模块
  • 购物车模块
  • 订单模块
  • 支付模块
  • 评价模块
  • 物流模块
  • 优惠券模块
  • 后台管理模块
  • .广告模块
  • 安全模块
  • 会员模块
  • 社交分享模块
  • 评价模块
  • 推荐模块等等
#创建一个表格
mysql> create table User(
    -> UserID int PRIMARY KEY,
    -> UserName varchar(50) not null,
    -> PassWord varchar(100) not null,
    -> Email varchar(100) not null,
    -> Phone varchar(20),
    -> FirstName varchar(50),
    -> LastName varchar(50),
    -> Aderess varchar(100),
    -> City varchar(50),
    -> PostalCode varchar(20),
    -> Country varchar(50),
    -> Sex enum('男','女','其他'),
    -> Birthdate date,
    -> Avatar varchar(200),
    -> RegistrationDate datetime,
    -> LastLoginDate datetime,
    -> IsActive boolean,
    -> IsAdmin boolean);
Query OK, 0 rows affected (0.04 sec)

2.2、SQL语句进阶操作

SQL语句进阶–>涉及的数据类型

  • 数值类型
    • 数据的单位:
      • 位:0
      • 字节:是存储容量的基本单位
      • 8个位就构成一个字节
      • 1byte(字节)=8bit(位)
      • 1KB=1024B(字节)
      • 1M=1024KB
      • 1G=1024MB
      • 1T=1024GB
    • 字符:是指计算机中使用的字母、数字、字和符号;

#创建一个表格
mysql> create table tab1(t1 tinyint,t2 smallint,t3 bigint);
Query OK, 0 rows affected (0.36 sec)

#查看表格结构
mysql> desc tab1;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| t1    | tinyint  | YES  |     | NULL    |       |
| t2    | smallint | YES  |     | NULL    |       |
| t3    | bigint   | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)

#分别尝试插入数据
mysql> insert into tab1(t1) values (-128);
Query OK, 1 row affected (0.01 sec)

mysql> insert into tab1(t1) values (-127);
Query OK, 1 row affected (0.01 sec)

mysql> insert into tab1(t1) values (127);
Query OK, 1 row affected (0.00 sec)
	#大于255 就开始报错
mysql> insert into tab1(t1) values (255);
ERROR 1264 (22003): Out of range value for column 't1' at row 1

#创建一个表格-->用于验证int结构
mysql> create table int_test(num1 int(2),num2 int(4));
Query OK, 0 rows affected, 2 warnings (0.01 sec)

#然后分别插入数据
mysql> insert into int_test(num1,num2) values(5,5);
Query OK, 1 row affected (0.00 sec)
	#查看数据
mysql> select * from int_test;
+------+------+
| num1 | num2 |
+------+------+
|    5 |    5 |
+------+------+
1 row in set (0.00 sec)
  • 时间日期表示方式
    • 2023-06-19
    • 22:15:30
    • 2023/06/19

#创建一个表格
mysql> create table seckill_activity(
    -> id int(10),
    -> name varchar(50),
    -> start_time datetime,
    -> end_time datetime);
Query OK, 0 rows affected, 1 warning (0.01 sec)
  • 字符串类型

2.3、select的用法

#查看当前数据库
mysql> select database();
+------------+
| database() |
+------------+
| GAME       |
+------------+
1 row in set (0.00 sec)

#查看当前时间
mysql> select curdate();
+------------+
| curdate()  |
+------------+
| 2023-08-05 |
+------------+
1 row in set (0.00 sec)

#查看mysql的版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.33    |
+-----------+
1 row in set (0.00 sec)

#查看当前用户
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

#查看某些字段
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

2.4、show的用法

#查看数据-->类似
mysql> show variables like '%storage_engine%';
+---------------------------------+-----------+
| Variable_name                   | Value     |
+---------------------------------+-----------+
| default_storage_engine          | InnoDB    |
| default_tmp_storage_engine      | InnoDB    |
| disabled_storage_engines        |           |
| internal_tmp_mem_storage_engine | TempTable |
+---------------------------------+-----------+
4 rows in set (0.30 sec)

#查看全局
mysql> show global status like 'Thread%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 0     |
| Threads_connected | 1     |
| Threads_created   | 1     |
| Threads_running   | 2     |
+-------------------+-------+
4 rows in set (0.00 sec)

#查看字符级别
mysql> show variables like 'character_set_database';
+------------------------+---------+
| Variable_name          | Value   |
+------------------------+---------+
| character_set_database | utf8mb4 |
+------------------------+---------+
1 row in set (0.01 sec)

#查找相似字符的信息
mysql> select * from game_characters where name like '%权%';
+------+--------+-------+--------+--------+------+-----------------------------------------------+
| id   | name   | level | role   | health | mana | description                                   |
+------+--------+-------+--------+--------+------+-----------------------------------------------+
| NULL | 孙权   |    48 | 射手   |    900 |  600 | 孙权是一位精通远程射击的角色。                |
+------+--------+-------+--------+--------+------+-----------------------------------------------+
1 row in set (0.00 sec)

数据存储的单位:

  • 位:0
  • 字节:存储容量的基本单位
  • 8个位构成一个字节
    • 1 byte (字节)= 8 bit(位)
    • 1 KB = 1024 B(字节);
    • 1M=1024KB
    • 1G=1024MB
    • 1T=1024GB
  • 字符:是指计算机中使用的字母、数字、字和符号;

3、MySQL的升级操作

3.1、MySQL5.7升级8.0

操作思路:

  • 升 级 前 要 备 份 与 数 据 相 关 的 所 有 文 件 , 包 括datadir,ib_logfile,ibdata1和binlog等
  1. 如果是高可用形式,先升级从库
  • 安装新版本的MySQL,然后迁移数据,测试新数据库是否可以用,等完全可用后再关闭原来的数据库。
  1. 提前了解新数据库版本的特性
  2. 做好数据的同步校验
  • 再测试环境做好兼容性测试,避免业务存在一些MySQL8.0不支持的函数,语法
  1. 考虑回滚方法,最大限度的降低停机时间

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

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

相关文章

《MySQL技术内幕》读书总结(一):MySQL体系结构和存储引擎

文章目录 前言&#xff1a;1、定义数据库和实例2、MySQL体系结构3、MySQL存储引擎InnoDBMyISAM 4、连接MySQL 前言&#xff1a; 该技术文章是我阅读《MySQL技术内幕 InnoDB存储引擎》第2版的总结梳理 我写这里文章的目的&#xff1a;书中的内容过于系统和繁琐&#xff0c;并不是…

小白也能轻松上手的6个流程图工具

随着信息时代的到来&#xff0c;流程图已经成为各行各业展示业务流程、工作流程、数据流程等必不可少的形式之一。但是对于初学者来说&#xff0c;学习和使用传统的流程图软件有一定的门槛&#xff0c;因此&#xff0c;本文将推荐6款适合初学者的在线流程图软件&#xff0c;让您…

Framework UI机制之Choreographer编舞者

Choreographer&#xff08;编舞者&#xff09; Choreographer&#xff08;编舞者&#xff09;是 Android 系统中的一个重要组件&#xff0c;用于协调和管理界面的动画和渲染操作的时机。它负责在界面上正确地处理和同步动画、布局和绘制操作&#xff0c;以保证流畅的用户体验。…

Java基础---常见的语法糖

目录 典型回答 如何解语法糖 糖块一、switch 支持 String 与枚举 糖块二、泛型 糖块三、自动装箱与拆箱 糖块四、方法变长参数 糖块五、枚举 糖块六、内部类 糖块七、条件编译 糖块八、断言 糖块九、数值字面量 糖块十、for-each 糖块十一、try-with-resource 糖…

TigerBot和ChatGLM-6B大语言模型

目录 1 TigerBot大语言模型 1.1 环境安装 1.2 模型下载 1.2.1 hugging face 网站下载 1.2.2 百度网盘下载 1.3 推理 2 ChatGLM大语言模型 2.1环境搭建 2.2 模型下载 2.3 推理 1 TigerBot大语言模型 虎博科技”发布自研多模态大模型TigerBot&#xff0c;开源模型、代码…

Focal Loss损失函数

目录 前言 交叉熵损失函数 平衡交叉熵 Focal Loss 代码实现 前言 Focal loss是一个常用的解决类别不平衡问题的损失函数&#xff0c;由何恺明提出的&#xff08;论文名称&#xff1a;Focal Loss for Dense Object Detection&#xff09;&#xff0c;用于图像领域解决one-…

学习系统编程No.29【线程执行过程之页表详解】

引言&#xff1a; 北京时间&#xff1a;2023/7/3/14:09&#xff0c;刚睡醒&#xff0c;放假在家起床时间确实不怎么好调整&#xff0c;根本固定不了一点&#xff0c;当然通俗点说也就是根本起不来&#xff0c;哈哈哈&#xff0c;已经很少见到那种7点起来码字的情形了&#xff…

NanopcT4 系统 人脸检测实验 超详细教程 代码及操作步骤

文章目录 1.NanopcT4 系统烧写详细操作步骤2.vim 使用与 gcc 使用3.makefile 使用4.GPIO 引脚查看与连接5.使用vim 编写 LED 灯闪烁c 语言程序test1.c6.使用vim 编写 LED 灯闪烁shell 脚本程序test2.sh7.在ARM 上实现人脸检测 1.NanopcT4 系统烧写详细操作步骤 1)准备一张 8G …

口语理解任务源码详解系列(二)利用seq2seq-attention模型实现

利用seq2seq-attention模型实现 写在前面 在前文介绍了项目的数据集构建&#xff1a;传送门 本文利用seq2seq-attention实现&#xff1a;实现细节请参考论文&#xff1a;《Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling》 1.意…

喜羊羊贴吧顶帖软件实战教学

喜羊羊贴吧顶帖软件实战教学#贴吧顶帖#贴吧推广 大家好&#xff0c;欢迎来到百收网SEO这期视频&#xff0c;给大家更新一下百度贴最新的一个顶帖视频教程。首先我们今天用的顶帖软件是我们的喜羊羊173 的一个版本&#xff0c;软件的话在我们的群文件去下载&#xff0c;就是我们…

如何查看货物的物流状态

想不想有一个一键批量查询快递号的软件&#xff1f;今天&#xff0c;小编向您介绍一款软件&#xff1a;“固乔快递查询助手”&#xff0c;该软件是固乔工作室正式推出的专业快递和物流单号出货信息批量查询软件。这款软件功能实用&#xff0c;操作简单&#xff0c;页面简单&…

使用 Jackson 库对日期时间的动态序列化反序列化操作

0.背景 因某项目中的数据报表功能在创建年报 和月报时需要生成不同的日期格式&#xff0c;但数据结构未变&#xff0c;为避免类的冗余定义&#xff0c;故使用如下方式来动态设置日期格式&#xff0c;在不同报表是使用不同格式的时间格式来保存数据。 1.代码介绍 PS:此介绍有Cha…

深度学习技巧应用23-利用latex对深度学习各种网络模型的图像进行绘制

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用23-利用latex对深度学习各种网络模型的图像进行绘制,大家知道那些好看的模型结构图是怎么画的吗?今天就给大家手把手的利用latex绘画出深度学习模型图出来,我将利用latex画出AlexNet,LeNet,VGG16,U-Net高清的网络模型…

微服务一 实用篇 - 5.1 ElasticSearch安装

《微服务一 实用篇 - 5.1 ElasticSearch安装》 提示: 本材料只做个人学习参考,不作为系统的学习流程,请注意识别!!! 《微服务一 实用篇 - 5.1 ElasticSearch安装》 《微服务一 实用篇 - 5.1 ElasticSearch安装》1.部署单点es1.1.创建网络1.2.加载镜像1.3.运行 2.部署kibana2.1…

达芬奇快编键盘使用指南——个人白皮书分享

文章目录 序言常见问题&#xff08;陆续更新&#xff09;1.没有指示灯&#xff0c;不知道怎么开机 功能分区和翻译查询A快编工具&#xff08;Smart Insrt&#xff09;B修剪工具&#xff08;Trim In&#xff09;C多功能按键&#xff08;Esc&#xff09;D多机位区&#xff08;Cam…

新加坡访问学者签证申请的三个注意事项

新加坡是一个独特而美丽的国家&#xff0c;吸引了许多学者和研究人员前来访问和交流。如果您计划前往新加坡进行学术交流&#xff0c;下面是知识人网小编整理的关于新加坡访问学者签证申请的三个注意事项&#xff0c;希望对您有所帮助。 1. 签证申请和文件准备&#xff1a; 在…

Scala入门到放弃—01—概述

文章目录 概述什么是是Scala&#xff1f;为什么要使用Scala? 配置环境安装测试附 基本语法定义变量基本数据类型lazy在Scala中的应用 概述 什么是是Scala&#xff1f; https://www.scala-lang.org/ Scala combines object-oriented and functional programming in one conci…

ELK实验部署过程

ELK集群部署环境准备 配置ELK日志分析系统 192.168.1.51 elk-node1 es、logstash、kibana 192.168.1.52 elk-node2 es、logstash 192.168.1.53 apache logstash &#xff08;我这里是把虚拟机的配置全部都改为2核3G的&#xff09; 2台linux 第1台&#xff1a;elk-nod…

大数据开发工程师前景如何?

大数据需求越来越多&#xff0c;只有技术在手不愁找不到工作。 大数据工程师的技术要求如下&#xff1a; 1、掌握至少一种数据库开发技术&#xff1a;Oracle、Teradata、DB2、Mysql等&#xff0c;灵活运用SQL实现海量数据ETL加工处理&#xff1b; 2、熟悉Linux系统常规shell…

软件工程——第8章维护知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.维护阶段的基本任务是&#xff1f; 2.大型软件的维护成本大概是开发成本的几倍&#xff1f; 3.什么是软件维护&#xff1f; 4.软件维护分为哪几类…