零基础如何自学MySQL数据库?

本人是个活生生的例子,大学学的仪器仪表专业,12年毕业后第一份工作是电路板测试。由于项目中接触到了数据库的东西,纯粹当高级点的excel表格用的。
当时有点兴趣,没参加过培训,0基础自学mysql和linux,现任国内某公有云mysql &&mongodb dba。
对于非计算机出身的我,大学只会hello word和跑马灯,期间过程确实非常曲折,分享下我的自学过程:

1、 自己在windows和linux上安装了mysql,自学linux的基础知识,学习mysql的最基础的知识,即怎么写sql,存储过程,表的设计等,从0到熟悉大概花了3个月 ,推荐《mysql入门很简单》

2、系统地较为深入地学习mysql的sql优化,备份和恢复,参数优化,架构优化,硬件层面的优化,高可用方案,复制技术等等,这段时间你不一定能实际接触到这些,就像我当初那样,肯定没什么公司招一个小白。
我选择自己看书,推荐《高性能mysql》,里面所有的章节都需要看一遍,以现在的水平肯定看不懂,但需要知道大概怎么回事,为后续的找mysql初级dba的工作打一个铺垫,这个过程大概也需要3个月。

3、 纸上得来终觉浅,完成以上两步,我开始准备找一份mysql相关的工作,而不是天天用着excel表格做着select * from table_sb这样的工作。
当然我这么猥琐的人肯定不会裸辞,该画的电路板也一样画,业余时间开始投初级mysql dba的工作,并且不间断地学习,网上各种找mysql面试的相关题目(实际上我当时完全没有任何实战经验),陆续收到一些面试,凭借之前自学的mysql知识,开始胡乱吹牛逼,先混进去再说。
你不做mysql实际相关的工作,永远也不知道自己之前认知的db知识有多幼稚。
友情提示一点,一般公司都没有专职dba的,所以面试的时候一定要自信,其实你学了这么多,虽然毫无实战经验,理论知识很大概率比面试你的人牛逼,所以各种吹,我就这样真正进入初级dba的圈子(由于这时对linux还处于cd ls的水平,所以之前也根本没做过运维),这个边工作边找工作的过程又持续了2个月。

4、真正进入互联网,接触生产环境后,这是我进步最大的时候。
第一步需要将之前所学真正地应用起来,并且应用的过程中,再回头看之前的书籍,这时候需要真正去理解,而不是似是而非,一知半解。
这时再推荐《高性能mysql 第三版》,全本再看一遍,这时需要全部看懂,另外还有《mysql技术内幕:innodb存储引擎》等等。
总之这段时间就需要开始关注mysql一些细节了,比如db故障处理,高可用,负载均衡等等的具体实现了。
另外,linux的知识同步也要深入去学习,至少会写shell脚本,常见的linux知识等,我在这花了1年多;
5、 dba的工作一般是非常轻闲的,毕竟不是大公司,技术能力有限,该学的也学得差不多了,接触不到海量数据,高并发等比较锻炼人的场合,于是我又准备跳了。
于是来了公有云,现在每天运维万多个db实例,平均每天处理5+个紧急db故障,几乎mysql会遇到的问题,感觉都遇到了,能感觉到技术实力和经验也在每天都在积累,在进步。
但是感觉还是欠缺了很多,下一步就看你选择了,是再去研究源代码,底层原理的东西多点,还是数据库运维和应用多一点,就比如业界姜承尧,何登成与叶金荣的区别。
由于我的历史原因,对c++等几乎不懂,平时也用不到,所以看代码等事实际太累,于是我再去学mongodb,接了公司mongodb运维的活,算是在广度上的一个扩展,万一哪天mysql不行了呢

6、 总之,对于db小白来说,最重要的一点就是,学习的过程不能断
PS 上面的方法比较野路子,适合没什么基础的童鞋,如果本来就是DBA,比如从oracle转到mysql,那么建议直接看mysql官方文档,而官方文档是db达到一定水平后必看,出问题时必查的权威文档。

文章源自知乎,仅供学习参考

(转载) https://www.zhihu.com/question/34840297/answer/67536521

时间: 2024-10-05 18:11:02

零基础如何自学MySQL数据库?的相关文章

零基础如何自学软件编程

随着科技的发展,越来越多的人学习软件编程.有人甚至辞职到培训机构去学习软件编程,也有人害怕是浪费时间,最后工作也没了,也没有学好软件编程.所以在看到网上说软件编程是可以自学的,就想一边工作一边自学软件编程.那么小编就来说说,自学软件编程有什么好的方法.2017零基础如何自学软件编程 1. 零基础能学软件编程吗? 很多人在看到it行业的发展前景一片大好,就想也转行去it行业,但是有很多都在担心同一个问题,就是零基础可以学软件编程吗?其实零基础是可以学软件编程的,也没有谁是天生就会的,不会就学,是可

最完整的网狐棋牌-新手零基础教程 第三节 数据库的安装教程

最完整的网狐棋牌-新手零基础教程 第三节 数据库的安装教程 百度云在线播放地址: 本帖隐藏的内容 链接:http://pan.baidu.com/s/1qYHMIPu 密码:vpw3 解压密码:www.ttkmwl.com ----------------------------------------------------------------- 通天源码论坛官方QQ群: 官方一群: 147949983 官方二群: 536016771 通天源码论坛!专注源码分享,本论坛不仅有web源码,还

精通Access数据库从零基础学习系列第1部特惠秒杀活动即将开始

Access是office办公套件中的一个极为重要的组成部分,现在它已经成为最流行的桌面数据库管理系统.本课程为Access数据库知识系列课程第1部,课程目标:结合简单实例讲解,零基础快速学习Access数据库,数据库格式为 mdb格式.课程编排重在实用,讲解通俗易懂.让您在最短的时间内学会最需要的知识点,为您节省宝贵的时间.本课程章节计划表:第一章:Access数据库概述1.Access数据库概述第二章:Access数据库安装文件下载及安装1.Access数据库安装文件下载及安装第三章:创建数

小猿圈web前端开发讲师:零基础自学html5开发方法

web前端开发目前市场使用率随着需求逐年递增.越来越多的年轻人转行进入了web前端开发领取.html5强大的功能是有目共睹的,本属自身独特的优势让这一技术越来越受欢迎,相比于原生APP,html5已经逐渐在用户体验生无限接近,再加上低廉的开发成本和强大的适配功能,早已经可以俘获开发商和开发者的芳心,本文小猿圈web前端开发讲师介绍零基础如何自学html5开发? 小猿圈web前端开发讲师:零基础自学html5开发方法: 1.拒绝插件,遇到交互效果就选择扒插件,这是一种非常不可取的方法,在这种情况之

Access2013数据库零基础入门实例教程第6部

本课程为Access2013数据库知识系列课程-窗体部分,access数据库全系列第6部,课程目标:结合<物品管理>简单的实例讲解,零基础入门学习Access2013数据库表知识.课程编排重在实用,结合实例讲解. **51CTO课程地址:https://edu.51cto.com/course/21420.html[特别说明:以下为本课程的知识点,具体视频章节安排请到课程大纲里查看,课件全部打包在第2章课件里下载]本课程知识点[具体视频章节安排请到课程大纲里查看]:第一章:Access数据库窗

Java零基础个人学习路线总结

之前学习Java的时候走过一些弯路,一直想写一篇文章来总结下自己对自学Java的认识.趁着这次开通专栏的机会整理一篇文章,既可以巩固所学,也可以为后来境遇相同的人做个参考. 首先提出几个问题 Java能用来干什么 Java学的是什么 Java能用来干什么 很多初学者一开始根本就没弄明白Java的应用领域.小时候我对计算机的主要想法其实是学习网络安全成为黑客大牛,后来在大学期间不知不觉的进入了Java领域. 在目前的软件开发市场,Java主要用于服务器端的开发(虽然Java还提供了开发手机应用和电

mySQL数据库的基本操作&quot;方言&quot;

1. 数据库的基本概念 2. MySQL数据库软件 1. 安装 2. 卸载 3. 配置 3. SQL ## 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. 3. 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL 4. 常见的数据库软件 * 参见<MySQL基础.pdf> # MySQL数据库软件 1. 安装 * 参见<

零基础mysql数据库表迁移

@ 把老数据库中的某个表倒出成sql文件 $mysql -uroot -p my_db > my_db.sql (输入密码) @ 在新环境中导入 $sudo apt-get install mysql-server -y (期间要初始化root用户的密码) $mysql -uroot -p (输入密码) mysql> show databases;(注意分号) mysql> create database my_db; mysql> show databases; mysql>

干货分享:MySQL零基础入门视频教程!

首先给大家介绍一下数据库工程师,数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计.测试到部署交付的全生命周期管理.数据库工程师的核心目标是保证数据库管理系统的稳定性.安全性.完整性和高性能. 今天在这里给大家分享一个干货教程,MySQL零基础入门视频教程,希望能帮助到大家! 课程目录: 一. MySQL课程介绍和MySQL的基础概念(1)二. MySQL基础概念之存储引擎(2