2024年最全运维工程师面试总结(含答案)_运维面试

  • rr 轮训
  • weight 加权轮训
  • ip_hash 静态调度算法
  • fair 动态调度算法
  • url_hash url哈希
  • leat_conn 最小连接数

18. 如何进行压力测试?

例如:模拟10个用户,对百度首页发起总共100次请求。
测试命令: ab -n 100 -c 10 https://www.baidu.com/index.htm

19. curl命令如何发送https请求?如何查看response头信息?如何发送get和post表单信息?

  • 发送https请求:curl --tlsv1 ‘https://www.bitstamp.net/api/v2/transactions/btcusd/’
  • response头信息 :curl -I
  • get:curl 请求地址?key1=value1&key2=value2&key3=value3
  • post: curl -d “key1=value1&key2=value2&key3=value3”

二、mysql

1. 索引的为什么使查询加快?有啥缺点?

默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度
缺点:

  • 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
  • 索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间,如果需要建立聚簇索引,那么需要占用的空间会更大
  • 以表中的数据进行增、删、改的时候,索引也要动态的维护,这就降低了整数的维护速度

2. sql语句左外连接 右外连接 内连接 全连接区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ys3sFCpc-1685248088363)(https://api.cuiliangblog.cn/v1/public/imgProxy/?url=https://cdn.nlark.com/yuque/0/2020/png/2308212/1606382686237-38fe6856-8b0c-43f5-963d-001be4978d83.png#align=left&display=inline&height=760&margin=%5Bobject%20Object%5D&name=17-24-18-018.png&originHeight=760&originWidth=966&size=174040&status=done&style=none&width=966)]

3. mysql数据备份方式,如何恢复?你们的备份策略是什么?

  • 物理完全备份

备份所有数据库文件:/var/lib/mysql/*
备份所有binlog文件: /var/lib/mysql/mysql-bin.*
备份选项文件: /etc/my.cnf

  • mysqldump逻辑备份

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db

  • 物理备份恢复

mv /var/lib/mysql /var/lib/mysql.old #先把原来的数据目录改名
cp -a /backups/mysql /var/lib

  • 逻辑备份数据恢复

mysql > use db_name
mysql > source /backup/mysqldump/db_name.db

4. 如何配置数据库主从同步,实际工作中是否遇到数据不一致问题?如何解决?

为每个服务器配置唯一值的server-id

  • 主库

开启binlog日志
创建主从复制用户
查看master的状态

  • 从库

change master to设置主库信息
start slave开始复制

5. mysql约束有哪些?

  • 非空约束
  • 唯一约束
  • 主键约束
  • 外键约束

6. 二进制日志(binlog)用途?

BINLOG记录数据库的变更过程。例如创建数据库、建表、修改表等DDL操作、以及数据表的相关DML操作,这些操作会导致数据库产生变化,开启binlog以后导致数据库产生变化的操作会按照时间顺序以“事件”的形式记录到binlog二进制文件中

7. mysql数据引擎有哪些?

  • 常用的 myisam、innodb
  • 区别:

InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了;
MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用;
InnoDB 支持外键,MyISAM 不支持;
MyISAM 是默认引擎,InnoDB 需要指定;
InnoDB 不支持 FULLTEXT 类型的索引;
InnoDB 中不保存表的行数,如 select count() from table 时,InnoDB;需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。注意的是,当 count()语句包含 where 条件时 MyISAM 也需要扫描整个表;
对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM表中可以和其他字段一起建立联合索引;
清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表;
InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like ‘%lee%’

8. 如何查询mysql数据库存放路径?

mysql> show variables like 'datadir%';
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| datadir       | /usr/local/mysql/data/ |
+---------------+------------------------+
1 row in set (0.00 sec)

9. mysql数据库文件后缀名有哪些?用途什么?

  • myisam

.frm文件:保护表的定义
.myd:保存表的数据
.myi:表的索引文件

  • innodb

.frm:保存表的定义
.ibd:表空间

10. 如何修改数据库用户的密码?

  • mysql8之前
set password for 用户名@localhost = password('新密码'); 
mysqladmin -u用户名 -p旧密码 password 新密码  
update user set password=password('123') where user='root' and ho

猜你喜欢

转载自blog.csdn.net/2401_83974473/article/details/138362661