先给出我的核心观点:学习,无论你是学什么,也无论你有没有基础。思考永远是第一位的,有些知识你没接触过不要紧,用不着害怕,也没必要害怕。重要的是一秒钟也不要停止思考,问题要想透彻,正所谓磨刀不误砍柴工。尤其是作为工程师,要有打破砂锅问到底的精神,否则你怎么学都没用。
首先概览下mysql的知识体系:
基础:
sql语句
表结构设计
调优:
索引、慢查询优化
配置参数调优
核心原理:
InnoDb存储引擎 (包括隔离级别、事务、锁、缓存池、回滚日志等等)
Mysqld (包括连接管理、进程管理、查询缓存、查询优化、日志等等)
架构与运维:
用户与权限、安全
备份与恢复
日志
分布式与高可用
对于零基础的童鞋:
首先,学习基本的SQL语法。完成这个后,你就可以编写SQL语句了。
这一步推荐:W3Schools的 SQL 教程。
其次,学习数据库的主要功能和使用方法,比如用户相关或者权限相关等等。
我推荐两本书:
一、《MySQL必知必会》 这本书讲的非常全,从基本概念,到查询到插入新建表,用户的管理,都有具体的例子,非常适合没有任何基础的同学来学习Mysql,总之这本书学习的方法就是:1、十分钟了解下数据库的基本概念 2、找到练手的数据库 3、对照着上面的内容去敲。本书里也有大量的内容是讲sql的,可以结合w3c的sql教程一起,有取舍地看。
二、《数据库系统概念》这本书是dba必看的。
看完这些并且实践+思考之后,可以算入门了