扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
MYSQL最好结合着PHP来学,知识只有在应用中,才能灵活掌握,也能更好的理解。不知道你以前是否有学过SQL类的知识,如果学过,学起MYSQL就很简单了。如果没学过,我就建议你买本基础的SQL类的书籍边看边实践吧。基本也就是建数据库、建表、SQL查询等等。其实MYSQL很深的了,需要更深层次的学习才能掌握好。
10余年的重庆网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整重庆建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“重庆网站设计”,“重庆网站推广”以来,每个客户项目都认真落实执行。
1.坚持阅读官方手册,看MySQL书籍作用不会特别大;(挑选跟工作相关的内容优先阅读,例如InnoDB存储引擎,MySQL复制,查询优化)
2.阅读官方手册,同时对阅读的内容做对应的测试;
3.结合你现在的工作内容,多实战即可;
4.外部的BLOG ,也包过我的 mysqlops.com 只是作为参考即可,更多要培养自己的分析思考的模式;
备注:
国内人写的MySQL书籍都不要作为重点,包过我可能2014年出版一本关于MySQL的书籍,推荐大家只作为辅助的,可以上厕所的时候看看,坚持官方手册+测试+实战+思考总结为主的模式。
如果你没有 MySQL 的基础,建议可以看看以下书籍:
《MySQL 必知必会》:主要讲 SQL 的写法
《深入浅出 MySQL》:比较全面的讲解了 MySQL 的基础知识,也涉及了一些优化。
如果已经对 MySQL 比较熟悉了,可以看下面的书籍:
《高性能 MySQL》:里面讲了很多 MySQL 优化技巧。
《MySQL 技术内幕》:讲解了很多 MySQL 原理,强力推荐给想深入学习 MySQL 的同学。
《MySQL 内核:InnoDB 存储引擎》:想深入研究 MySQL 内核及原理的可以看看。
《MySQL 运维内参》:对 MySQL 源码感兴趣,可以入手。
《MySQL Internals Manual》
《MySQL 5.7 Reference Manual》
先给出我的核心观点:
学习,无论你是学什么,也无论你有没有基础。思考永远是第一位的,有些知识你没接触过不要紧,用不着害怕,也没必要害怕。重要的是一秒钟也不要停止思考,问题要想透彻,正所谓磨刀不误砍柴工。尤其是作为工程师,要有打破砂锅问到底的精神,否则你怎么学都没用。
首先,学习基本的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。所以的所以,你必须不断思考,才能在工作中面对具体场景的时候,非常淡定地推断:“哦,一定是这里出了问题。应该怎么怎么做。”面对问题,拿出打破砂锅问到底的精神,先思考一番,给出自己的假设,不要着急地去找度娘,谷歌。思考过后,带着你的推断或者答案,大胆地去搜索吧!去看看别人的见解,去看看官方的描述!这才是一个工程师应有的态度。最后我想给出一些有价值的学习资料。可以省去一些时间。-电子书:我认为多看书还是有好处的。有些书值得反复看许多遍,有时候只看一遍无法深刻理解吸收,思考也不够充分
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流