MySQL是最流行、使用最广泛的开源数据库,上手很快,但对一个DBA,要真正掌握MySQL,需要花很多时间进行系统化的学习、实践。
MySQL基础运维,需要掌握MySQL软件的安装、配置,了解MySQL大致的架构,业界这方面的书很多。MySQL官方文档要熟悉,知道官方文档包含哪些内容,遇到问题的时候能知道在什么地方查找需要的信息。
MySQL官方文档介绍
每个版本的mysql都有一个对应的参考手册, 现在建议可以从MySQL 5.7 reference入手学习。
MySQL安装部署
学习MySQL安装部署的几种方式
- rpm包安装
- 源码编译安装
- 二进制安装
- 基于docker的mysql安装部署
熟悉MySQL软件中的各类文件
了解各种安装方式下mysql 二进制文件和lib文件的路径,资源文件,数据常用的mysql命令行工具及其适用
- mysql
- mysqld
- mysqladmin, mysqladmin extended-status
- mysqldump
- mysqlcheck
- mysqlbinlog
- mysql_config
熟悉这些命令的作用,熟悉这些命令的常用参数。
mysql数据库初始化过程
- mysql_install_db
- mysql 5.7 mysqld --bootstrap
熟悉MySQL实例启动脚本
- mysqld_safe
- rpm安装的mysql启动脚本
熟悉MySQL的启动过程
- mysql参数文件加载过程
熟悉MySQL实例相关文件
熟悉mysql实例中各类文件的作用,路径
- pid文件, sock文件,
- error log, slow log, general log
- 表相关的文件(frm, ibd)
- innodb 共享表空间,日志
- binlog, binlog index, relay log, relay log index
- master.info, relay-log.info
- ssl认证相关文件
熟悉上面这些文件的默认路径,以及配置这些路径的参数。
- basedir
- datadir
- innodb_data_home_dir
- innodb_log_group_home_dir
- lc_messages_dir
- plugin_dir
- slave_load_tmpdir
- tmpdir
熟悉MySQL各类配置参数
了解参数的作用域,全局参数和session参数。动态参数是不是修改了就立刻生效?是否对当前回话生效?是否都已经建立的老的连接生效?
单机多实例MySQL安装配置
使用MySQL
MySQL支持的数据类型
掌握常见数据类型的适用场景。
MySQL字符集
- 掌握字符集转换
- 掌握常见引起乱码的原因
- 掌握字符集相关的几个配置参数的作用(show global variables like '%char%';
MySQL内建函数
从官方文档学习MySQL的内建函数。
MySQL DDL
- DDL的语法
- 不同类型DDL的执行过程
- 了解DDL对业务的影响
- 了解在线DDL的原理
MySQL帐号和权限体系
- MySQL账号认证过程
- MySQL支持的不同类型的权限
- 权限相关的表(user, db, table_privs)
MySQL的存储过程
熟悉存储过程的语法,能使用存储过程处理批量数据订正。
MySQL触发器
熟悉触发器的语法,不同类型触发器的作用。