MySQL运维面试题详解

  1. ACID属性:ACID是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)的缩写,是数据库事务处理的重要特性。ACID属性确保数据的一致性和完整性。

  2. 数据库规范化:规范化减少数据冗余和提升一致性。常见级别包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF(博科斯范式)和第四范式(4NF)。

  3. MyISAM与InnoDB存储引擎:MyISAM不支持事务,适合读多写少的场景,空间小但并发性能差;InnoDB支持事务和行级锁定,适合高并发事务处理,但占用空间较大。

  4. 水平分区(Sharding):通过数据在多个数据库实例上的分布实现水平扩展。优点是扩展性强,但数据管理和查询复杂性增加。

  5. 读写分离:主从复制配置将读操作分散到从服务器,提高系统性能。优势在于读取速度更快,主服务器压力减小,但存在数据延迟的风险。

  6. NoSQL与MySQL选择数据结构不固定或对高并发读取要求高时可选NoSQL(如MongoDB);需要事务处理和复杂查询时,MySQL更适合。

  7. 性能优化:常见瓶颈包括查询效率低、索引不足和内存不足。方法有优化SQL、创建合适索引、调整参数配置和合理硬件分配。

  8. EXPLAIN命令:帮助分析SQL查询执行计划,优化索引使用,提高查询速度。

  9. 数据库索引:索引加速查找。聚集索引键值与数据在同位置,非聚集索引键值指向数据物理位置;聚集索引在主键上唯一。

  10. 数据加密:MySQL支持透明数据加密(TDE)和行级加密,确保敏感数据安全,防止未经授权的访问。

  11. 主从复制和高可用性:主从复制确保数据从主节点实时同步到从节点,形成高可用架构;主节点故障时,从节点可接管。

  12. SQL优化建议:建议使用适当的索引、减少数据扫描范围、避免不必要的复杂联表操作、使用缓存等方法提升查询效率。

  13. 锁机制:MySQL中的锁机制包括表锁、行锁和共享锁。InnoDB引擎常用行锁,适合高并发场景。

  14. 日志管理:MySQL的二进制日志(binlog)记录数据变更,是实现数据恢复和主从复制的关键。

  15. 备份与恢复:备份MySQL可通过物理备份和逻辑备份,恢复则根据备份类型而定,可使用增量恢复和完全恢复方式。

  16. 慢查询日志:分析慢查询日志可识别SQL瓶颈,适当调整索引和SQL结构可提升性能。

  17. 高可用架构设计:常见高可用方案有主从复制、MHA(Master High Availability)、PXC(Percona XtraDB Cluster)等。

  18. 监控与报警:建议搭建监控系统如Prometheus+Grafana,实现实时监控数据库状态和性能。

  19. 数据迁移:数据迁移工具如pt-archivermysqldump等,在迁移过程中应注意性能和数据完整性。

  20. 安全策略:MySQL安全策略包括账号管理权限分配密码策略、数据加密、审计日志等。