- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQLTroubleshooting笔记
MySQL Troubleshooting读书笔记简介概要Understand the sourceof a problem, even when the solution is simple.Handle problems that occur when applications run in multiple threads.Debug and fix problems caused by configuration options.Discover how operating system tuning can affect your server.Use troubleshooting techniques specific to replication issues.Get a reference to additional troubleshooting techniques and tools, including third-party solutions.Learn best practices for safe and effective troubleshooting — and for preventing problems.?文章组织架构如何定位问题原因。最佳方法是利用标准流程定位问题,列出可能的原因,逐个测试。It is very important to identify what the problem is.Chapter 1.Basics介绍了基本的故障排查技巧,几乎适用于任何情况。本章只涵盖了单线程问题,即可通过单一线程重现问题。Chapter 2.You Are Not Alone: Concurrency Issues介绍了多线程应用或者被其他应用的事务干扰时出现的问题。Chapter 3.Effects of Server Options两部分:第一部分是如何调试定位配置选项导致的问题;第二部分是一些重要选项的参考,即需根据需要调整使用。第二部分还包括关于如何解决某些特定选项导致的问题以及如何测试问题是否已被解决的建议和方法。Chapter 4.MySQLs EnvironmentMySQL运行的硬件及环境的其他方面对MySQL的影响。绝大部分的必要信息指向OS,这通常需要系统管理员协助解决。在此列出一些MySQL DBA需关注的点。Chapter 5.Troubleshooting Replication针对主从场景下产生的问题,针对复制中的特有问题。?Chapter 6.Troubleshooting Techniques and Tools介绍了额外的技巧和工具。首先介绍原理,然后介绍一些可用工具。?Chapter 7.Best Practices介绍了安全有效地处理故障的良好的习惯和行为。CHAPTER 1 Basics基本原则:从最简单的可能原因开始逐步分析。很多情况下,问题是由琐碎的、基础的原因导致的。Incorrect Syntax故障排查的第一步:语法错误。如拼写错误。应特别MySQL保留字/关键字作为列名的使用。(此类问题很隐蔽,加必要的引号可避免)应该测试MySQLserver端所接收到的SQL语句。(可确保server端执行的语句符合预期)程序的输出功能(如PHP的echo函数)和general log可以帮助你快速获取SQL语句示例:SELECT id FROM t1 WHERE accessible=1;5.1后accessible为保留字PHP代码$query = SELECT * FROM t4 WHERE f1 IN(;for ($i = 1; $i 101; $i ++)$query .= row$i,;####$query .= row$i,;(输出QUERY语句,echo函数)$query = rtrim($query, ,);$query .= );$result = mysql_query($query);并非总是可以使用输出函数,如程序利用编译语言中第三方类库生成SQL语句、或调用提供CRUD接口的类、或者用指定参数测试特定语句时不希望用户看到QUERY语句。此时,便可借助general log。MySQL 5.1之后可动态开启/关闭。SET GLOBAL general_log = on; #开启general logSET GLOBAL log_output = table; #将查询记录到表中Wrong Results from a SELECT两种情况:SELECT语句问题或者DB中数据不同于预期。如果SELECT未能按预期执行,则将其拆分成小块,然后单独分析每一块。EXPLAIN EXTENDED后执行SH
文档评论(0)