MySQL DBA 刚入职时如何快速拥抱新的环境

方法何其多、这里介绍的是懒人做法、也就是、借助工具
   但是、生产环境是不能随便安装程序的、肿么办?
   没关系、我们伟大的percona 已经为我们考虑周详鸟
   
   这里、我们要借助三个工具:
   
   ① pt-summary:绿色纯天然、免安装、下载即用、收集MySQL Server所在OS的基本信息
   ② pt-mysql-summary:本地安装、然后远程收集MySQL Server的基本信息
   ③ innotop:将MySQL Server的信息分析的粒度做细、让你深入观察和监控MySQL Server、同样可以远程监控 
   
   
   关于 pt-summary、这个工具几乎把这个服务器的配置从里到外扒了遍、
   而且、所显示的参数也非常明了、有兴趣的朋友到官网下个、跑一下就出来
   
   
   下面重点介绍的是 pt-mysql-summary和innotop

先瞧瞧 pt-mysql-summary

[plain] view plaincopyprint?

  1. [[email protected] ~]$ pt-mysql-summary  --user=david --password=123 --host=62.131.164.222
  2. ㈠ 第一部分
  3. # Percona Toolkit MySQL Summary Report #######################
  4. System time | 2013-06-12 08:58:40 UTC (local TZ: CST +0800)
  5. # Instances ##################################################
  6. Port  Data Directory             Nice OOM Socket
  7. ===== ========================== ==== === ======
  8. 3306 /home/mysql/mysql/data     0    0   /tmp/mysql.sock
  9. --前面这两部分展示了MySQL 实例的基本概况
  10. --实际上、这里可以列出多个实例、不过、我这里仅有一个
  11. ㈡ 第二部分
  12. # MySQL Executable ###########################################
  13. Path to executable | /home/mysql/mysql/bin/mysqld
  14. Has symbols | Yes
  15. # Report On Port 3306 ########################################
  16. User | [email protected]%
  17. Time | 2013-06-12 16:57:58 (CST)
  18. Hostname | cdio
  19. Version | 5.5.16-log Source distribution
  20. Built On | Linux x86_64
  21. Started | 2013-06-11 15:26 (up 1+01:31:13)
  22. Databases | 6
  23. Datadir | /home/mysql/mysql/data/
  24. Processes | 20 connected, 2 running
  25. Replication | Is not a slave, has 0 slaves connected
  26. Pidfile | /home/mysql/mysql/data/cdio.pid (does not exist)
  27. --这部分是对 MySQL 实例(PS:这里特指3306、因为还可存在其他实例)的基本情况再次做报表、当然、比前面部分来得详细些
  28. --有个参数需要特别注意、Time 指的是MySQL 服务器的当前时间、而不是MySQL 服务器所在的系统的时间
  29. ㈢ 第三部分
  30. # Processlist ################################################
  31. Command                        COUNT(*) Working SUM(Time) MAX(Time)
  32. ------------------------------ -------- ------- --------- ---------
  33. Query                                 1       1         0         0
  34. Sleep                                20       0     35000      4000
  35. User                           COUNT(*) Working SUM(Time) MAX(Time)
  36. ------------------------------ -------- ------- --------- ---------
  37. david                                 1       1         0         0
  38. root                                  9       0         0         0
  39. shaoyun                              10       0         0         0
  40. Host                           COUNT(*) Working SUM(Time) MAX(Time)
  41. ------------------------------ -------- ------- --------- ---------
  42. 110.80.147.20                         1       1         0         0
  43. 110.84.245.124                        6       0         0         0
  44. 27.151.68.106                         4       0         0         0
  45. localhost                             9       0         0         0
  46. db                             COUNT(*) Working SUM(Time) MAX(Time)
  47. ------------------------------ -------- ------- --------- ---------
  48. cdio                                 15       0         0         0
  49. NULL                                  5       1         0         0
  50. State                          COUNT(*) Working SUM(Time) MAX(Time)
  51. ------------------------------ -------- ------- --------- ---------
  52. 20       0         0         0
  53. NULL                                  1       1         0         0
  54. --这部分的内容来自 show processlist 、我们先看看未经过统计的 show processlist的 内容、如下:
  55. --
  56. mysql> show processlist;
  57. +------+---------+---------------------+------+---------+------+-------+------------------+
  58. | Id   | User    | Host                | db   | Command | Time | State | Info             |
  59. +------+---------+---------------------+------+---------+------+-------+------------------+
  60. | 1508 | shaoyun | 130.84.225.124:4373 | cdio | Sleep   | 3523 |       | NULL             |
  61. | 1510 | shaoyun | 130.84.225.124:4385 | cdio | Sleep   | 2322 |       | NULL             |
  62. | 1513 | shaoyun | 27.161.68.106:2585  | NULL | Sleep   | 7866 |       | NULL             |
  63. | 1514 | shaoyun | 27.161.68.106:2586  | NULL | Sleep   | 7866 |       | NULL             |
  64. | 1522 | shaoyun | 27.161.68.106:3107  | NULL | Sleep   | 6861 |       | NULL             |
  65. | 1529 | root    | localhost           | cdio | Sleep   | 4426 |       | NULL             |
  66. | 1557 | root    | localhost:59459     | cdio | Sleep   |    7 |       | NULL             |
  67. | 1579 | shaoyun | 165.77.122.42:56966 | cdio | Sleep   |  433 |       | NULL             |
  68. | 1580 | root    | localhost           | cdio | Sleep   |  239 |       | NULL             |
  69. | 1582 | shaoyun | 27.161.68.126:5640  | cdio | Sleep   |  164 |       | NULL             |
  70. | 1583 | root    | localhost           | NULL | Query   |    0 | NULL  | show processlist |
  71. +------+---------+---------------------+------+---------+------+-------+------------------+
  72. --不难看出、这是对每一列都做了统计
  73. ㈣ 第四部分
  74. # Status Counters (Wait 10 Seconds) ##########################
  75. Variable                                Per day  Per second    295 secs
  76. Bytes_received                         90000000        1000        4000
  77. Bytes_sent                            600000000        7000       22500
  78. Com_admin_commands                            1
  79. Handler_rollback                             80
  80. Handler_update                             6000
  81. Handler_write                             20000                       5
  82. Innodb_buffer_pool_pages_flushed           2250                       1
  83. Innodb_buffer_pool_read_requests        2250000          25         125
  84. Innodb_buffer_pool_reads                    800
  85. Innodb_buffer_pool_write_requests         10000                       7
  86. Innodb_data_fsyncs                         1250
  87. Innodb_data_read                       15000000         175         100
  88. Innodb_data_reads                           900
  89. Innodb_data_writes                         2000                       1
  90. Innodb_data_written                    40000000         450       25000
  91. Innodb_dblwr_pages_written                 1250
  92. Innodb_dblwr_writes                         150
  93. Innodb_log_write_requests                  1750                       1
  94. Innodb_log_writes                           600
  95. Innodb_os_log_fsyncs                        700
  96. Innodb_os_log_written                   1000000          10         600
  97. --这部分内容取自 show global status 、仅收集哪些变化的量
  98. --比较有价值的应该是第三列、取自两张快照、除以变化量、算出每秒的变化
  99. ㈤ 第五部分
  100. # Table cache ################################################
  101. Size | 64
  102. Usage | 100%
  103. --显示表缓存的大小、Usage表示在用百分比、这是个近视值
  104. ㈥ 第六部分
  105. # Plugins ####################################################
  106. InnoDB compression | ACTIVE
  107. --显示指定的插件程序以及它们的状态
  108. ㈦ 第七部分
  109. # Query cache ################################################
  110. query_cache_type | ON
  111. Size | 0.0
  112. Usage | 0%
  113. HitToInsertRatio | 0%
  114. --这部分是关于查询缓存基本情况
  115. ㈧ 第八部分
  116. # Schema #####################################################
  117. Would you like to mysqldump -d the schema and analyze it? y/n y
  118. There are 6 databases.  Would you like to dump all, or just one?
  119. Type the name of the database, or press Enter to dump all of them.
  120. Database Tables Views SPs Trigs Funcs   FKs Partn
  121. cdio         61                          65
  122. jiradb      130                           6
  123. mysql        22
  124. test
  125. Database InnoDB MyISAM
  126. cdio         61
  127. jiradb      130
  128. mysql               22
  129. test
  130. Database BTREE
  131. cdio       193
  132. jiradb     274
  133. mysql       31
  134. c   t
  135. h   i
  136. a   m
  137. r   e
  138. s
  139. t
  140. a
  141. m
  142. p
  143. Database === ===
  144. cdio     114 155
  145. jiradb     1 346
  146. mysql      8   3
  147. test
  148. --这部分便是 mysqldump --no-data  跑出来的数据
  149. --第一个小部分指明每个库有多少张表、视图、存储过程、触发器、函数、外键约束等
  150. --第二个小部分指明每个库有多少张表使用了不同的存储引擎
  151. --第三个小部分指明每个库有多少索引类型
  152. --第四个小部分指明每个库数据类型的分布情况、可能比较难看、因为列是竖着放、比如第一列是char
  153. ㈨ 第九部分
  154. # Noteworthy Technologies ####################################
  155. Full Text Indexing | No
  156. Geospatial Types | No
  157. Foreign Keys | Yes
  158. Partitioning | No
  159. InnoDB Compression | No
  160. SSL | No
  161. Explicit LOCK TABLES | No
  162. Delayed Insert | No
  163. XA Transactions | No
  164. NDB Cluster | No
  165. Prepared Statements | No
  166. Prepared statement count | 0
  167. --这部分显示了一些关键技术是否被用上、如:全文索引、XA等
  168. (十)第十部分
  169. # InnoDB #####################################################
  170. Version | 1.1.8
  171. Buffer Pool Size | 128.0M
  172. Buffer Pool Fill | 10%
  173. Buffer Pool Dirty | 0%
  174. File Per Table | ON
  175. Page Size | 16k
  176. Log File Size | 2 * 5.0M = 10.0M
  177. Log Buffer Size | 8M
  178. Flush Method |
  179. Flush Log At Commit | 1
  180. XA Support | ON
  181. Checksums | ON
  182. Doublewrite | ON
  183. R/W I/O Threads | 4 4
  184. I/O Capacity | 200
  185. Thread Concurrency | 0
  186. Concurrency Tickets | 500
  187. Commit Concurrency | 0
  188. Txn Isolation Level | REPEATABLE-READ
  189. Adaptive Flushing | ON
  190. Adaptive Checkpoint |
  191. Checkpoint Age | 0
  192. InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
  193. Oldest Transaction | 0 Seconds
  194. History List Len | 1899
  195. Read Views | 1
  196. Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
  197. Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
  198. Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
  199. Pending I/O Flushes | 0 buf pool, 0 log
  200. Transaction States | 16xnot started
  201. --这部分显示了InnoDB 的基本配置
  202. --Buffer Pool Fill和Buffer Pool Dirty是近视值
  203. (11)第11部分
  204. # MyISAM #####################################################
  205. Key Cache | 16.0M
  206. Pct Used | 20%
  207. Unflushed | 0%
  208. --这部分是MyISAM的部分
  209. (12)第12部分
  210. # Security ###################################################
  211. Users | 9 users, 1 anon, 4 w/o pw, 9 old pw
  212. Old Passwords | ON
  213. --这部分从 grants table 的mysql表提取出来
  214. --显示了显示了有多少用户以及各种可能的安全配置
  215. (13)第13部分
  216. # Binary Logging #############################################
  217. Binlogs | 12
  218. Zero-Sized | 0
  219. Total Size | 62.5M
  220. binlog_format | MIXED
  221. expire_logs_days | 0
  222. sync_binlog | 0
  223. server_id | 1
  224. binlog_do_db |
  225. binlog_ignore_db |
  226. --这部分显示了二进制日志的配置
  227. (14)第14部分
  228. # Noteworthy Variables #######################################
  229. Auto-Inc Incr/Offset | 1/1
  230. default_storage_engine | InnoDB
  231. flush_time | 0
  232. init_connect |
  233. init_file |
  234. sql_mode |
  235. join_buffer_size | 128k
  236. sort_buffer_size | 512k
  237. read_buffer_size | 256k
  238. read_rnd_buffer_size | 512k
  239. bulk_insert_buffer | 0.00
  240. max_heap_table_size | 16M
  241. tmp_table_size | 16M
  242. max_allowed_packet | 1M
  243. thread_stack | 256k
  244. log | OFF
  245. log_error | /home/mysql/mysql/log/alert.log
  246. log_warnings | 1
  247. log_slow_queries | ON
  248. log_queries_not_using_indexes | OFF
  249. log_slave_updates | OFF
  250. --这部分展示了服务器的几个关键配置
  251. (15)第15部分
  252. # Configuration File #########################################
  253. Config File | /etc/my.cnf
  254. [client]
  255. port                                = 3306
  256. socket                              = /tmp/mysql.sock
  257. [mysqld]
  258. port                                = 3306
  259. socket                              = /tmp/mysql.sock
  260. basedir                             = /home/mysql/mysql
  261. datadir                             = /home/mysql/mysql/data
  262. log-error                           = /home/mysql/mysql/log/alert.log
  263. log_slow_queries                    = /home/mysql/mysql/log/slow.log
  264. skip-external-locking
  265. key_buffer_size                     = 16M
  266. max_allowed_packet                  = 1M
  267. table_open_cache                    = 64
  268. sort_buffer_size                    = 512K
  269. net_buffer_length                   = 8K
  270. read_buffer_size                    = 256K
  271. read_rnd_buffer_size                = 512K
  272. myisam_sort_buffer_size             = 8M
  273. innodb_file_per_table               = 1
  274. log-bin                             = mysql-bin
  275. binlog_format                       = mixed
  276. server-id                           = 1
  277. sync_binlog                         = 1
  278. innodb_support_xa                   = 1
  279. innodb_flush_log_at_trx_commit      = 2
  280. [mysqldump]
  281. quick
  282. max_allowed_packet                  = 16M
  283. [mysql]
  284. no-auto-rehash
  285. [myisamchk]
  286. key_buffer_size                     = 20M
  287. sort_buffer_size                    = 20M
  288. read_buffer                         = 2M
  289. write_buffer                        = 2M
  290. [mysqlhotcopy]
  291. interactive-timeout
  292. # The End ####################################################
  293. --如您所见、这部分完完全全来自 my.cnf、这里不赘述了

其实分析完 pt-mysql-summary 之后、你基本就已经对你即将管理的Server知根知底了
   接下来的 Innotop 能给您想知道的部分锦上添花的作用
   
   更多了解请查询:code.google.com/p/innotop
   
   ㈠ 安装
   
   # perl -MCPAN -eshell
   CPAN> install Time::HiRes
   CPAN> install Term::ReadKey
   CPAN> install DBI
   CPAN> install DBD::mysql
   
   # wget https://innotop.googlecode.com/files/innotop-1.9.0.tar.gz
   # tar -zxv -f innotop-1.9.0.tar.gz
   # cd innotop-1.9.0
   # perl Makefile.PL
   # make install
   
   
   ㈡ 进入
   
   # innotop -uroot -p123 -h127.0.0.1
   
   
   ㈢ 使用
   
   进入第一件事情就是按 ? 号、然后innotop就会自个教你如何使用
   
   
   
   举个例子、如果你想查询MySQL当前执行的SQL、您可以这么做:
   按 Q 进入 Query list模式
   然后、按 e并输入thread ID显示执行计划

MySQL DBA 刚入职时如何快速拥抱新的环境

时间: 2024-10-11 17:07:02

MySQL DBA 刚入职时如何快速拥抱新的环境的相关文章

调侃 -- 刚入职时的单纯

借个漫画调侃下刚入职时傻傻的想法 当然也不是说排斥加班,既然选择了这个行业,也做好了加班的准备 还好现在的公司不怎么加班,相比某些企业简直不能算是加班 对于哪些上班好几年的老员工,下班后仍能坚持在工位上做下去,我表示确实挺了不起 每个人都有自己的喜好,毕竟做IT的,尤其是做研发的确实都有点工作狂 个人感觉工作就是工作,生活不仅仅是上班,越是做IT的,越要培养自己的其它兴趣,不要被工作qj了

给刚入职开发者的几句心里话

一,别让自己的身材变样 我身边很多做开发的朋友,也认识一些在这个行业工龄较大的人,有些人是:空叹当年小蛮腰,而今一身五花膘.有些人慢慢地慢慢地就聪明绝顶了.所以一定要保持运动,生命在于运动嘛 二,着重积累,形成自己的开发工具 老程序员扪心自问,我们做了几年的开发,有没有积累自己的Tools?是不是每一个新项目的感觉是,我上一个项目也写了这样的代码?怎么项目做多了都在做一些重复的事情.我们不停地在写,不停地写,为了生活,为了程序-- 我在09年的时候做WinCE,WinCE不像现在的Android

程序员初入职场如何快速成长

近期收到很多的朋友留言关于程序员初入职场如何快速成长,因为在it行业中,新的技术在不断的更新,如果你不充分利用有限的时间,在未来的竞争中该如何成长.针对这个问题,下面将给出三条比较有实际意义的建议. 培养自己的沟通能力 作为程序员大部分的时间都是和电脑进行沟通,但是我们要想把一个项目做好,沟通能力很重要,因为一个项目会涉及很多方面的,有些知识你可能不具备,但是其他的同事可能很精通,这个时候,沟通就显得尤为重要.说起沟通,建议先学会和你的上级领导沟通,最好做到一对一的沟通,有效的沟通可以让你少走很

centos6.5下yum安装lnmp(适合刚入职的新手的方法)

新入职的员工,开始的时候都是让配环境,本地写代码用的wamp,在lnmp或lamp测试,除非有些土豪公司 用的是(果机). 另外安装时,把整个流程在脑子里先过一篇(记不全也没关系,一回生二回熟),重在实践,实践出真知! 一:首先要在自己电脑安装一个虚拟主机软件,我这有: vmware10 ---> 网盘地址:http://pan.baidu.com/s/1pJt5HVl centos6.5(32位):网盘地址:http://pan.baidu.com/s/1pJqNLxD xshell4:  网

入职一个月快速熟悉大型Vue项目经验感想

来到和睦的公司家庭已经一个月出头了,从技术层面来说,公司项目PC端是我目前来说接触的最大最复杂的项目了,德老师也说这个不断开发更新迭代的项目的代码量相对于全国的web来说是蛮多的,对于快速熟悉这样的大项目需要一定的时间.我是真的深有体会了,因为自己刚开始开发vue的实战经验很少,刚开始做公司这个项目所花的时间中,三分之二是在读代码,而且还有很多没看懂的.但随着接触的模块不断增加,不断在代码中踩坑脱坑,不断地在和PC端大管加朝夕相处的日子里渐渐的摸清它的架构,其中积累了一些快速读懂项目架构.模块组

给刚入职开发人员的几句心里话

一,别让自己的身材变样 我身边非常多做开发的朋友.也认识一些在这个行业工龄较大的人,有些人是:空叹当年小蛮腰,而今一身五花膘.有些人慢慢地慢慢地就聪明绝顶了. 所以一定要保持运动,生命在于运动嘛 二,着重积累,形成自己的开发工具 老程序猿扪心自问,我们做了几年的开发,有没有积累自己的Tools?是不是每个新项目的感觉是.我上一个项目也写了这种代码?怎么项目做多了都在做一些反复的事情.我们不停地在写,不停地写,为了生活,为了程序-- 我在09年的时候做WinCE,WinCE不像如今的Android

入职第二天(培训第二天)

又是一天培,训的结束,今天的培训内容非常丰富,我也学到了很多的东西(不得不感叹入职后快速学习能力的重要性).今天的培训分为三块:沟通技巧,时间管理,班级活动. 上午的9:30-12:00都是由田老师讲解沟通的技巧.田老师讲的第一点是职业发展.作为刚入职的信任,为自己做一个职业规划是非常重要的,一个好的职业规划能够引导你走向成功.首先,需要有一个对于成功的定义.对于我目前阶段而言,成功就是成就足够的物质基础,足够我在一个一线城市买套房,结婚,为父母也买套房子,一家人过上潇洒的生活.为了这个成功,我

致初入职场的兄弟姐妹

致初入职场的兄弟姐妹   我很喜欢电影<燃情岁月>中的那句台词--"有些人能够听见自己内心的声音,非常的清楚,他们依循着自己的内心来行事.这些人变得疯狂,或者成为传奇--"(Some people hear their own inner voices with great clearness and they live by what they hear. Such people become crazy, or they become legends. )     这是

IT人员如何提升在企业里地位和价值?——新人入职如何烧旺前三把火

本文是老男孩个人公众号的第一篇文章,如果喜欢, 可加oldboy_linux,或扫结尾的二维码进行关注! http://oldboy.blog.51cto.com/2561410/1829072 技术的提升仅是量的积累,思想的提升才是质的飞跃! ------老男孩 前言:虽然本文题目是针对IT运维人员的,但其他行业的伙伴同样能从中受益! 目录 1. 重视入职后的前3个月 2. 新入职的普通员工如何烧旺三把火? 2.1 新手菜鸟如何做? 2.2 新入职的有能力的老鸟如何做? 3. 新入职的领导如何