Rumah  >  Artikel  >  零基础如何自学mysql

零基础如何自学mysql

(*-*)浩
(*-*)浩asal
2019-05-10 09:25:434620semak imbas

先给出我的核心观点:学习,无论你是学什么,也无论你有没有基础。思考永远是第一位的,有些知识你没接触过不要紧,用不着害怕,也没必要害怕。重要的是一秒钟也不要停止思考,问题要想透彻,正所谓磨刀不误砍柴工。尤其是作为工程师,要有打破砂锅问到底的精神,否则你怎么学都没用。

推荐课程:MySQL教程

零基础如何自学mysql

首先概览下mysql的知识体系:

基础:

sql语句表结构设计调优:

索引、慢查询优化配置参数调优

核心原理:

InnoDb存储引擎 (包括隔离级别、事务、锁、缓存池、回滚日志等等)

Mysqld  (包括连接管理、进程管理、查询缓存、查询优化、日志等等)

架构与运维:

用户与权限、安全

备份与恢复

日志分布式与高可用

对于零基础的童鞋:

mysqlb.jpg

首先,学习基本的SQL语法。完成这个后,你就可以编写SQL语句了。

这一步推荐:W3Schools的 SQL 教程。

其次,学习数据库的主要功能和使用方法,比如用户相关或者权限相关等等。

我推荐两本书:一、《MySQL必知必会》 这本书讲的非常全,从基本概念,到查询到插入新建表,用户的管理,都有具体的例子,非常适合没有任何基础的同学来学习Mysql,总之这本书学习的方法就是:1、十分钟了解下数据库的基本概念 2、找到练手的数据库 3、对照着上面的内容去敲。本书里也有大量的内容是讲sql的,可以结合w3c的sql教程一起,有取舍地看。

二、《数据库系统概念》这本书是dba必看的。

看完这些并且实践+思考之后,可以算入门了。

接下来对于希望深入学习的童鞋我推荐几本书(很多大神都这么推荐),《高性能MySQL(第3版)》、 《MySQL技术内幕(第4版)》,《MySQL技术内幕 InnoDB存储引擎》,《深入理解MySQL》还有Mysql的官网。读完这些东西,再加些丰富的经验,理论上来讲就具备DBA的水平了。

十分推荐阅读Planet MySQL上汇总的博客,特别是Percona's MySQL & InnoDB performance and scalability blog.但是,正如我开头所言的。面对问题的时候一定要积极思考!

比如:我问你,面对一个并发量比较高的场景,如何配置mysql的连接数?

你可能会回答:“哦,就是调高max_connection的数值吧。”

那,你有没有思考过调到多少是最合适的呢?为什么这样设置就最合适呢?

也许你会回答:“恩我知道,可以看系统之前的max_used_connection的数值,然后来设置。也可以调高back_log的值。”

那你有没有思考过,max_connection连接数太高会有什么不好的影响呢?back_log设置的太高有什么不好的地方呢?max_connect的上限其实是取决于mysql能获得的文件描述符的数量,也就是说你就算设置成10000,最后也是没用的,系统会根据机器的情况自动调低。

也许你会回答:“恩我知道,设置太高,会有系统开销...”

那你有没有思考过,这些开销具体是什么呢?是什么工作导致了需要这些内存开销?

也许你还会回答,在连接创建的时候,会立刻为它分配连接缓冲区以及查询缓冲区,这些都会吃内存。

那你有没有思考过,占据的资源具体是多少呢?取决于哪些因素呢?好了,我们先结束这个问题。回到知乎的问题上来,其实我说了这么多,就是表达要如何自学mysql。所以的所以,你必须不断思考,才能在工作中面对具体场景的时候,非常淡定地推断:“哦,一定是这里出了问题。应该怎么怎么做。”

面对问题,拿出打破砂锅问到底的精神,先思考一番,给出自己的假设,不要着急地去找度娘,谷歌。思考过后,带着你的推断或者答案,大胆地去搜索吧!去看看别人的见解,去看看官方的描述!这才是一个工程师应有的态度。

最后我想给出一些有价值的学习资料。

可以省去一些时间。-电子书:我认为多看书还是有好处的。有些书值得反复看许多遍,有时候只看一遍无法深刻理解吸收,思考也不够充分。

《mysql必知必会》《高性能mysql第三版》《数据库系统概念》《深入理解MySQL》《MySQL性能调优与架构设计--全册》《SQL Antipatterns》《MySQL技术内幕  InnoDB存储引擎》

-学习mysql的网站:MySQL Tutorial - Learn MySQL Fast, Easy and Fun.可以快速,简单和有趣的学习MySQL。以简单易懂的方式为您提供完整的MySQL教程。每个教程都有SQL脚本和可用屏幕截图的实际示例。

mysql学习资料 | mysql深入学习笔记 深度笔记有很多mysql的资料可以看,还可以看网友做的学习笔记。W3Schools SQL 教程可以学习基础的sql语句

-阅读官方手册

无论英文好不好,看英文手册的能力是一定要有,也一定要培养的。

mysql官方手册:14 The InnoDB Storage Engine-大牛的博客领域专家的博客是十分具有学习价值的,下面列举几个比较好的:

何登成的技术博客 何登成的技术博客

淘宝丁奇 追风刀·丁奇 - ITeye技术网站

周振兴@淘宝 花名:苏普 一个故事@MySQL DBA

阿里云数据库高级专家彭立勋为 MariaDB Foundation 正式成员,负责全球Replication模块相关补丁的Review。彭立勋也成为首位被MariaDB基金会引入的中国程序员。P.Linux Laboratory

Planet MySQL

最后就是,要多用。

Atas ialah kandungan terperinci 零基础如何自学mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:注册表键值是什么意思Artikel seterusnya:cs架构是什么意思?