1、请简述RAID0、RAID1和RAID5的特点与原理 ?
RAID0(独立磁盘冗余阵列)
必须使用两块或两块以上硬盘组成
每块硬盘的大小必须一致
是所有动态磁盘中,数据读写最快
损坏几率相对最高
没有磁盘容错功能
RAID1(镜像卷)
由两块或2的倍数硬盘组成
每块硬盘大小必须一致
硬盘使用率只有50%,写入速度最慢
拥有磁盘容错功能
RAID5
由三块或三块以上硬盘组成
每块硬盘大小必须一致
磁盘利用率是n-1块盘(一块留做奇偶校验)
利用奇偶校验(异或),拥有容错功能(只允许1块坏盘)
软RAID:由操作系统模拟的RAID,一旦硬盘损坏,操作系统就会损坏,RAID会丧失作用(练习模拟使用)
硬RAID: 独立于硬盘之外,硬件RAID卡组成;就算硬盘损坏,也不会导致RAID卡损坏,磁盘容错才能起作用。
2、对于一个全新的Linux系统,你通常做哪些系统优化?
禁用不必要的服务
避免直接使用root用户,普通用户使用sudo授权操作
锁定重要系统文件
配置国内yum源
配置系统同时打开最大文件数
同步时间服务器
更改ssh服务的默认端口,配置SSH密钥登录
配置合理的IPtables防火墙规则
定时备份系统重要文件
3、MySQL中什么是索引,简单说下索引的劣势?
索引本质是数据结构,因为其满足特定查找算法,所以可以提高查找效率。
索引的分类 :
主键索引
单值索引 一个索引只包含单个列,一个表可以有多个单列索引。如果字段会被经常用来检索就可以用单值索引
复合索引 一个索引包含多个列,如年龄 名字。最好不超过5个字段
唯一索引 所有列的值必须唯一,但是允许有空值
普通索引和唯一索引可以称为辅助索引
劣势 :
实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,索引列也要是占用空间的。
虽然索引大大提高了查询速度,但是会降低更新表的速度,如对表进行INSERT,UPDATE,DELETE。因为更新表示,Mysql不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,都会调整因为更新所带来的键值变化后的索引信息。
索引只是提高效率的一个因素,如果Mysql有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询。
4、简单说说提高MYSQL的安全级别的方式有哪些?
修改mysql默认端口
linux下可以通过iptables来限制访问mysql端口的IP地址
对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址)
root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)
开启二进制查询日志和慢查询日志
mysql安装目录及数据存储目录权限控制
删除无用mysql账号和删除无用的数据库
5、简述ftp、https、smtp、pops、ssh的端口号?
ftp(20和21)、https(443)、smtp(25)、pops(110)、ssh(22)