首先需要自我反省,因为自己圈内朋友中MySQL大牛太多,自己就先班门弄斧了,莫见怪:) 前段时间很荣幸通过了YEP(Young Expert Program)的审核,成为了其中的一员,当时的一个福利就是赠送一张考试券(人民币价值在1000元左右),可以参加除了OCM考试之外的所有考试。这个条件确实很诱人,只要你有一定的积累再加上自信就可以,感兴趣可以试一试。 可以参考下面的项目介绍 http://www.oracle.com/technetwork/cn/community/user-groups/young-expert-program-2395294-zhs.html 言归正传,因为自己有了一张考试券,可以自由选择的时候,自己还是琢磨了下,倒底该考哪个考试,首先在数据库考试的范围内选择,Oracle 11g,12c和MySQL是我备选的考试,最后还是咬了咬牙决定考MySQL lz0-883的考试,自己想挑战一下,想看看除了Oracle的强大体系之下,最流行的开源数据库倒底是怎么样的。在技术上我比较喜欢对比,通过对比能够明白哪些方面Oracle设计的精妙,哪些方面MySQL更加灵活。毕竟是一门考试,不一定能从中得到全部深度的内容,但是我的目标就是学习练习为主,通过考试是一个基本目标。 最后风风火火指定了考试计划之后,就开始准备环境,还是有不少东西值得和大家分享的,毕竟通过考试是最终目标,所以也要好好琢磨琢磨考纲,毕竟从头到尾看完MySQL的官方文档,自己也就醉了。自己也正在看MySQL的一些书,因为白天工作,等自己有足够的时间的时候已经是下班回家吃完饭以后了。所以需要在疲惫和清醒中切换,Oracle和MySQL中切换,写博客和练习中切换。 对于图书,个人还是推荐<<高性能MySQL>>,<<MySQL技术内幕>>这两本 paul的《MySQL技术内幕>>算是一个工具书和参考手册,对于很多细节分析得很全面,是在基于5.5版本的基础上做的分析。 《高性能MySQL>>以前有几个朋友推荐过,自己看了下,是阿里系的人做的几版翻译,作者是都是percona的人,质量和深度都没得说。准备后续和大家分享下关于事务和锁的内容,看了以后发现Oracle和MySQL中在这方面还是存在着很多的差别。 毕竟时间有限,不能没有重点的学习,官方中找到的考试大纲如下,还附上了一个国外大牛提供的细致帮助,附上了对于某些考纲需要重点去看的官方文档。这个大纲对于自己段时间内掌握重点还是很有帮助的。 还有一点需要说下,毕竟MySQL是一个开源的产品,考试内容更多是自有体系中更多的知识点,不会包括其它开源社区的一些技术细节和产品,所以除了考试大纲中的内容之外,从图书中去补充就是一个很好的方法。
MySQL Architecture
1. Use MySQL client programs to interface with the MySQL Server interactively and in batch
o http://dev.mysql.com/doc/refman/5.6/en/programs-client.html
2. Describe how MySQL uses disk and memory resources
o http://dev.mysql.com/doc/refman/5.6/en/memory-use.html
o http://dev.mysql.com/doc/refman/5.6/en/disk-issues.html
3. List and describe key characteristics of standard MySQL storage engines including InnoDB, NDB, MyISAM, MEMORY, FEDERATED
o http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html
MySQL Server Installation, Configuration and Maintenance
1. Select, deploy, start and stop MySQL using appropriate binary packages for Windows and Linux platforms
o http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html
o http://dev.mysql.com/doc/refman/5.6/en/windows-installation.html
o http://dev.mysql.com/doc/mysql-startstop-excerpt/5.6/en/index.html
2. Configure MySQL Server deployments using options files, command-line options and server variables
o http://dev.mysql.com/doc/refman/5.6/en/server-parameters.html
3. Identify, configure, locate and describe appropriate use cases for MySQL the error, binary, general query and slow query log
o http://dev.mysql.com/doc/refman/5.6/en/server-logs.html
MySQL Security
1. Describe appropriate steps to secure a MySQL deployment at the operating system, filesystem and network levels
o http://dev.mysql.com/doc/refman/5.6/en/faqs-security.html
2. Create and maintain user accounts with appropriate privileges and configuration
o http://dev.mysql.com/doc/refman/5.6/en/privilege-system.html
o http://dev.mysql.com/doc/refman/5.6/en/user-account-management.html
3. Deploy and configure MySQL Enterprise Audit
o http://www.mysql.com/products/enterprise/audit.html
o http://dev.mysql.com/doc/refman/5.5/en/audit-log-plugin.html
Diagnostic Data and Metadata Sources in MySQL
1. Configure and leverage PERFORMANCE_SCHEMA tables to identify and diagnose performance problems
o http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html
2. Obtain MySQL metadata from INFORMATION_SCHEMA tables
o http://dev.mysql.com/doc/refman/5.6/en/information-schema.html
Optimizing MySQL Performance
1. Demonstrate ability to diagnose and optimize poorly-performing queries
o http://dev.mysql.com/doc/refman/5.6/en/statement-optimization.html
o http://dev.mysql.com/doc/refman/5.6/en/execution-plan-information.html
2. Tune MySQL Server configuration for best performance
o http://dev.mysql.com/doc/refman/5.6/en/optimizing-innodb.html
o http://dev.mysql.com/doc/refman/5.6/en/optimizing-myisam.html
o http://dev.mysql.com/doc/refman/5.6/en/optimizing-memory-tables.html
3. Create and utilize table partitioning
o http://dev.mysql.com/doc/refman/5.6/en/partitioning.html
4. Apply best practices in optimizing schema objects
o http://dev.mysql.com/doc/refman/5.6/en/optimizing-database-structure.html
o http://dev.mysql.com/doc/refman/5.6/en/optimization-indexes.html
5. Demonstrate understanding of locking concepts as applied to MySQL Server and storage engines
o http://dev.mysql.com/doc/refman/5.6/en/locking-issues.html
Backups and Recovery in MySQL
1. Create and restore logical backups using mysqldump
o http://dev.mysql.com/doc/mysql-backup-excerpt/5.6/en/using-mysqldump.html
2. Create and restore binary backups
o http://dev.mysql.com/doc/mysql-backup-excerpt/5.6/en/innodb-backup.html
o http://dev.mysql.com/doc/refman/5.6/en/mysql-enterprise-backup.html
3. Use backups for data recovery
o http://dev.mysql.com/doc/mysql-backup-excerpt/5.6/en/point-in-time-recovery.html
High Availability Techniques for MySQL
1. Describe, configure, deploy and troubleshoot MySQL replication
o http://dev.mysql.com/doc/refman/5.6/en/replication-semisync.html
o http://dev.mysql.com/doc/refman/5.6/en/replication.html
2. Describe and contrast characteristics of common MySQL high availability solutions (MySQL Cluster, DRBD, Windows Failover Clustering, Solaris Cluster, OVM Template for MySQL Enterprise)
o http://dev.mysql.com/doc/mysql-ha-scalability/en/index.html