最近对于数据库的知识有了点兴趣,公司里面由于项目大多是to B的项目所以基本采用oracle、db2、sqlserver这些有大企业支持的数据库,基本上遇见了问题都是有专门的技术服务公司提供技术支持(要花钱)。但是最近今年,随着信创国产化,后面陆续的项目也开始采用国产数据库,例如阿里的oceanbase 、 腾讯的tdsql、人大金厂等,虽然也是有厂家支持,但是在还是不确定这些公司是否可以及时的提供技术支持,以往的数据库管理经验可能不太够用了。
所以一是兴趣使然(数据库还是蛮有意思的),二是以后面对项目数据库突发问题可以不至于手足无措,开始积累学习一下。
选择mysql数据库作为起始,因为mysql在国内用户众多(其实postgresql在国内用户也很多),代码全开源,而且基本上国产数据库厂家的产品有许多也是基于mysql进行二创,学习mysql这对于之后接触其他国产数据库也是有好处的。
整理了一下学习路线。
一、MySQL架构和安装
- MySQL架构:了解MySQL的整体架构,包括客户端、服务器、存储引擎等组成部分。
- 安装:掌握MySQL的安装过程,包括在不同操作系统(如Windows、Linux)上的安装方法。
二、MySQL存储引擎
- 存储引擎概述:了解MySQL支持的多种存储引擎(如InnoDB、MyISAM、MEMORY等)及其特点。
- 存储引擎选择:根据应用场景选择合适的存储引擎。
三、MySQL备份和恢复
- 备份策略:制定有效的备份策略,确保数据的安全性和完整性。
- 备份方法:掌握使用mysqldump、二进制日志等工具进行备份的方法。
- 恢复技术:了解数据恢复的过程,包括逻辑备份和物理备份的恢复方法。
四、MySQL性能调优
- 性能监控:使用日志文件、状态变量、性能架构等工具监控MySQL的性能。
- 查询优化:通过EXPLAIN语句、索引、索引统计等手段优化查询性能。
- 服务器配置:调整MySQL服务器的配置参数,以获得最佳性能。
五、MySQL安全管理
- 用户管理:创建和维护具有适当特权和配置的用户帐户。
- 风险识别:识别常见的安全风险,如SQL注入、网络安全等。
- 安全措施:采取适当的措施,如使用密码安全性、操作系统安全性等,来保障MySQL的安全性。
六、MySQL高可用性
- 复制技术:了解MySQL的复制机制,包括主从复制、多源复制等。
- 高可用性解决方案:熟悉常见的MySQL高可用性解决方案,如MySQL群集、DRBD等。
- 故障排除:具备诊断和解决MySQL复制故障的能力。
七、MySQL故障排除
- 故障识别:识别MySQL服务器可能出现的故障,如启动失败、性能下降等。
- 故障排除方法:掌握故障排除的步骤和方法,包括查看日志文件、分析性能数据等。
八、其他相关知识
- MySQL服务器配置和维护:了解MySQL服务器的配置和维护方法,包括启动和停止MySQL、配置选项文件等。
- MySQL中的诊断数据和元数据源:从INFORMATION_SCHEMA表中获取MySQL元数据,使用PERFORMANCE_SCHEMA表来识别和诊断性能问题。