53. 什么是"最少权限原则"?
**答:**应用最少权限原则就是仅为用户授予高效地完成任务所需的权限,除此之外的任何权限均不能授 予,这可以降低用户修改或查看(无意或恶意)他们无权修改或查看的数据的机率,从而达到最 大程度保护数据安全的目的。"最少权限原则"是数据库最重要的审计准则之一。
54. 使用哪些常见的措施可以用来防范网络安全风险?
**答:**常见的防范网络安全风险的措施包括:
-
使用防火墙来控制对 MySQL 端口的访问
-
限制服务器使用的网络接口
-
使用安全安装脚本创建安全初始配置:mysql_secure_installation
-
确保 MySQL 帐户受口令保护并且没有不必要的权限
-
不要授予超出用户需要的权限
-
确保只有经过授权的客户端才能连接到服务器以访问其数据库
-
不通过网络传输明文(未加密)数据
55. 请对安全套接字层(SSL)和传输层安全性(TLS)协议加以简要说明。
**答:**安全套接字层(SSL)和传输层安全性(TLS)都基于 OpenSSL 提供,TLS 是 SSL 的升级版。 TLS 使用加密算法来确保通过公共网络接收的数据是可信的,它具有检测数据更改、丢失或重放 的机制,TLS 还包含使用 X509 标准提供身份验证的算法。X509 使用基于公钥私钥对的非对 称加密算法,数据传输时使用公钥加密,使用相应的私钥解密,从而达到确保数据安全的目的。
56. 请对 ca.pem、server-cert.pem、server-key.pem、ca-key.pem、client-cert.pem、 client-key.pem 这些与 SSL 有关的文件,分别给出功能说明。
**答:**当 MySQL 服务器启动时,它会检查以下数字证书文件:
-
ca.pem:受信任的证书颁发机构(CA)发放的数字证书
-
server-cert.pem:服务器的数字证书,用于验证服务器的身份并包含公钥
-
server-key.pem:服务器的私钥
如果这些文件不存在,服务器将为自签名数字证书生成上述文件,并创建以下文件:
-
ca-key.pem:服务器生成自签名 CA 数字证书的私钥
-
client-cert.pem:与客户端共享的客户端证书
-
client-key.pem:与客户端共享的客户端私钥
57. MySQL 8.0 企业防火墙都有哪些特点和功能?
**答:**企业防火墙的主要功能是防范 SQL 注入的安全风险。企业防火墙通过训练能将合规的 SQL 语句 转换为语句摘并存储在白名单中,之后只有符合白名单摘要的 SQL 才能进入服务器执行。 企业防火墙插件也提供监控和统计的功能。
58. 请说明一个稳定的系统的具体含义。
**答:**一个稳定的系统意味着在一定时间段内系统表现出可预测的行为,具体是:
-
服务器在没有计划外中断的情况下运行
-
计划中断很少见
-
应用程序表现出可预测的性能
59. 在确定数据库失败原因时,都要考虑哪些方面的因素?
**答:**需要考虑的因素包括架构中的所有组件:
-
服务器相关,包括存储、网络接口、电源、内存、CPU 等
-
连通性相关,包括网络基础设施、防火墙、负载均衡等
-
应用软件相关,包括面向用户的组件、框架稳定性
另外还要考虑不可抗力,比如自然灾害或其他异常事件等因素。
60. 如何查看 InnoDB 表所占用的实际存储空间大小?
**答:**可以查询 INFORMATION_SCHEMA.FILES 视图,其中包含有 InnoDB 表空间的磁盘大小信息。 也可以在文件系统直接查看 .ibd 文件的大小,但仅适用于单表文件包空间。
61. 谈谈对 MySQL 数据库进行纵向扩展和横向扩展的适用场合。
答:纵向扩展是给主机添加更多的 CPU、存储或主内存资源,提高单个节点的处理能力,效果有限。 横向扩展是向环境中添加更多的服务器以启用集群的并行处理能力,扩容效果明显,比如:分片 数据库、分析或备份复制、InnoDB 集群、MySQL 集群中的 NDB 存储引擎等。
62. 说出在判断一个数据库性能问题时的一般性思路或步骤。
答:确定问题时的基本思路或步骤如下:
-
应用程序、数据库或服务器配置最近是否发生了变化?
-
问题自第一次出现后是否自行解决? ~ 由于批量操作或网络流量激增,应用程序活动是否突然增长? ~ 系统资源是否被数据库外部的操作占用?
-
问题是否以可预测的时间间隔发生?
-
将应用程序、MySQL 和 OS 设置以及其他度量与基线进行比较
-
在功能级别定位问题
-
创建清晰的问题陈述