摘自知乎--mysql

允许晚辈叫一声前辈。
从前辈的描述中可以看出前辈对MySQL已经有很好的理解,但我还是想从我这个半知半解的晚辈角度提出几点。

1.系统学习数据库,最要紧的是把基本功打牢,所以《数据库系统概念 原书第六版》是一本不可多得的好书,任何数据库背后的原理基本上都是想通的,其他的都是不同厂商或组织做的改进和优化;
2.如果对MySQL题体系结构、原理性的东西没搞明白,就阅读优化相关的书,我觉得是徒劳,因为原理不懂,何谈优化?所以这里可以推荐两本本书籍:《深入理解MySQL》(人民邮件出版社 Charles A Bell著 杨涛等译)、《深入理解MySQL核心技术》(O‘REILLY出版社 中国电力出版社 Sasha Pachev著 李芳等译);
3.对原理性的东西弄彻底后,再加上足够多的操练,现在可以看些优化、高可用、备份与恢复、集群、优化的书,比如前辈提到的《高性能MySQL》(O‘REILLY出版社 电子工业出版社 Baron Schwartz等著 王小东等译)、《MySQL性能调优与架构设计》(简朝阳),其他的书籍比如《高可用MySQL——构建健壮的数据中心》(O‘REILLY出版社 电子工业出版社 Charles Bell等著 宁青等译)……(欢迎补充)
4.再深层次可以研究下MySQL源码,内部实现机制等等。这里我也不知路向;
5.Linux方面的知识想必前辈已经非常熟练,在此不赘述。

下面贴两个帖子,一个是“知名DBA专家冯春培先生分享自己的职业之路”中的片段,另一个是“如何理解高级MySQL DBA必备素养以及技能”的片段。希望对前辈有所帮助。

hwayw: 现在有人认为学oracle很有出路,有人认为学mysql前途更大,还有人觉得nosql才是未来的数据库趋势,您是怎么看待这样的观点?有关关系型数据库和非关系型数据库的争议,您又怎么看?
biti_rainy: 我学习oracle的时候oracle数据库还为广泛应用,DBA也比较少,算是懵懂的在正确的时间进了正确的门。2001年到2006年真的是DBA学习成长的黄金时期,那时候涌现了一堆有影响力的人。这不是说现在的oracle DBA技能就比那时候的差,而是现在的确算不上黄金时期了,因为oracle已经广泛应用了。但是现在这个时段就是做数据库服务的好时期,而我们那时候想做却不成气候。2006年的时候我招了个应届生叫简朝阳,后来我建议他重点学习mysql,并给予了很大的自由度和计划到他,帮助他成长,后来他写了本书,同时自己成长的非常快,在mysql领域也是非常有影响力。当时之所以建议他学习mysql,是因为oracle的硬件实施整体成本非常高,一用上小型机和SAN存储,oracle费用其实不足total费用的20%。一方面为了公司节约成本考虑,另一方面也感觉到这是未来的趋势,大环境给予了他这个机遇,而我只是提前做出了判断并引导了他。现在由于互联网企业的发展,好像nosql发展的迅猛,这其实不过是在特定场景解决特定问题罢了。我认为未来十年nosql可以取代RDBMS是个伪命题,其实发展到后来两者趋势逐渐一致,nosql想要通用也得具有RDBMS的很多特征,就越长越像了。Google最近出的数据库,其实我看很多特点和概念也类似oracle呢,概念上大家都没什么新鲜玩意,都是在规模上的量变导致质变。而一般用户解决规模问题最简单的是硬件、网络的突破,这更容易带来数据库应用的发展。所以我更主张大家透过现象去看技术的实质,研究各种技术的特点背后的优劣到底是怎么回事,这样才有自己的看法。Oracle、mysql、nosql都是一些具体的数据管理的表现形式,他们主要面对什么客户、解决什么问题、带来什么价值,看透了这些,我们就不会被表象所牵引。当然,我认为管理好数据之后,发掘数据价值是一个很重要的事情。

From ITPUB名人堂第16期支付宝数据平台负责人、知名DBA专家冯春培先生分享自己的职业之路_Oracle数据库管理_ITPUB论坛-it168旗下专业技术社区

黄杉
1) MYSQL 重要参数的作用; 包括副作用哪些呢? 是key_buffer_size、tmp_table_size、sort_buffer_size、innodb_buffer_size、innodb_log_file_size、innodb_flush_logs_at_trx_commit、max_tmp_tables 等等!
2) SHELL,要熟练; shell具体指的是啥,能否举例说明一本书籍,说搞懂了这本书籍,shell就算熟练了?
3) PYTHON , PERL 懂一种。 不懂,看来还得去买一本书,慢慢修炼了。
4) 性能测试要会; 没有弄过,如何做,用啥工具,如何看测试过后的各种测试数据。
5) LINUX 熟练操作; linux操作都包括哪些方面呢?能举几个例子说明一下吗?

From 如何理解高级MySQL DBA必备素养以及技能?_MySQL及其它开源数据库_ITPUB论坛-it168旗下专业技术社区

2013年10月7日16:18:27 补充
还可以看下这个问题我的回答:MySQL 学习路线是怎样的?有哪些学习资料或网站推荐?

时间: 2024-08-02 12:58:55

摘自知乎--mysql的相关文章

2016年5月11日摘自知乎的一些Redis大概了解

1. 知乎日报的基础数据和统计信息是用 Redis 存储的,这使得请求的平均响应时间能在 10ms 以下.其他数据仍然需要存放在另外的地方,其实完全用 Redis 也是可行的,主要的考量是内存占用.就使用经验而言,Redis 的数据结构很丰富,精心设计地话,能满足很多应用场景.至少很多时候比 MySQL 更方便 2. 单独使用Redis的话,它是成当不起数据库的任务,比如你每日活跃用户是1万人,但是你那台redis里面已经积累了50万人了(这个比例很正常),那么每次redis启动,就需要把50万

有没有不适合使用flex/lex作为词法分析器的语言?(摘自知乎)

本问题及解答摘自本人知乎 http://www.zhihu.com/people/chaos-xie   http://www.zhihu.com/question/29922657 感谢知乎网友的回答!现将问题及可能的解答记录如下: 有没有不适合使用flex/lex作为词法分析器的语言? O'REILLY <flex和bison(中文版)>第24面问题5.求指点!我个人认为词法分析既然是把输入流分割成为一个个有意义的记号(参见龙书),而只要是程序设计语言肯定就能分割成为有意义的记号(不然人类

DBA 必知的 MYSQL 备份与还原方法

一mysqldump 备份结合 binlog 日志恢复 说明:MySQL 备份一般采取全库备份加日志备份的方式,例如每天执行一次全备份,每小时执行一次二进制日志备份.这样在 MySQL 故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间. Binlog 功能默认是关闭的,没有开启. 查看 binlog,用 mysqlbinlog -v mysql-bin.000001 主从同步 恢复数据库 开启 binary log 功能:通过编辑 my.cnf 中的 log-b

DBA必知的mysql备份与还原的几大方法

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!一.mysqldump备份结合binlog日志恢复 说明:MySQL备份一般采取全库备份加日志备份的方式,例如每天执行一次全备份,每小时执行一次二进制日志备份.这样在MySQL故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间. 1.binlog介绍 1)该日志记录着数据库的所有增.删.改的操作日志,还包括这

摘自知乎回答(学生)

这是一个利欲熏心的时代,这是一个娱乐至上的时代,这更是一个看脸,颜值当道的时代 好似只要长得漂亮,就能轻易获得别人的赞美,轻松获得"最美"的称号,而对内在绝口不提 长相普通,心地善良的姑娘注定被忽略 在我看来最美的女高中生,是在桌前奋笔疾书,为了自己的梦想不断努力,一点一点的奋斗,黑夜中沉睡,黑夜中清醒,不断的靠近自己的目标,为理想奋斗 而不是只会画着心机的素颜妆,拿着自拍杆卖萌嘟嘴,穿着高中的校服,只是为了展示自己尚且青春的那种女生 望警示. 原文地址:https://www.cnb

MySQL性能调优与架构设计——第 18 章 高可用设计之 MySQL 监控

第 18 章 高可用设计之 MySQL 监控 前言: 一个经过高可用可扩展设计的 MySQL 数据库集群,如果没有一个足够精细足够强大的监控系统,同样可能会让之前在高可用设计方面所做的努力功亏一篑.一个系统,无论如何设计如何维护,都无法完全避免出现异常的可能,监控系统就是根据系统的各项状态的分析,让我们能够尽可能多的提前预知系统可能会出现的异常状况.即使没有及时发现将要发生的异常,也要在异常出现后的第一时间知道系统已经出现异常,否则之前的设计工作很可能就白费了. 18.1 监控系统设计 系统监控

Mysql数据类型

MySQL的数据类型 一.整数类型 整数类型 字节 取值范围 取值范围 tinyint 1 有符号 -128 无符号 0 有符号 127 无符号 255 Smallint 2 有符号 -32768 无符号 0 有符号 32767 无符号65535 mediumint 3 有符号 -8388608 无符号 0 有符号 8388607 无符号1677215 int,integer 4 有符号 -2147483648 无符号 0 有符号 2147483647 无符号4294967295 bigint

mysql表名忽略大小写

查看大小写区分mysql> show variables like "%case%";+------------------------+-------+| Variable_name          | Value |+------------------------+-------+| lower_case_file_system | OFF   | | lower_case_table_names | 0     | +------------------------+-

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化

MySQL性能调优与架构设计——第9章 MySQL数据库Schema设计的性能优化 前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限.本章将就如何在 MySQL 数据库 Schema 设计的时候保证尽可能的高效,尽可能减少后期的烦恼. 9.1 高效的模型设计 最规范的就一定