Day17-解决MySQL_ERROR参考指南(配置选项对服务器的影响)
MySQL服务器提供大量选项,可以通过多种方式来对这些选项进行设置,例如:在my.cnf配置文件中进行设置,在使用命令行启动服务器的时候进行设置,或者在服务器正在运行的时候使用变量来对它们进行设置。大多数MySQL服务器变量都允许动态设置,...
MySQL服务器提供大量选项,可以通过多种方式来对这些选项进行设置,例如:在my.cnf配置文件中进行设置,在使用命令行启动服务器的时候进行设置,或者在服务器正在运行的时候使用变量来对它们进行设置。大多数MySQL服务器变量都允许动态设置,...
2.8 高效地使用MySQL问题排查工具为了结束本章的内容,本节打算再介绍一下我们使用过的工具,并补充介绍一下我们之前忽略的其他有用的特性。2.8.1 SHOW PROCESSLIST和INFORMATION_SCHEMA. PROCESS...
2.7 复制和并发并发问题的另一个重要场景是在复制环境下。当排查复制问题的时候,需要记住主服务器总是多线程的,而从服务器在单个线程中执行所有更新[2]。这会影响复制时的性能和一致性,而与你使用的二进制日志格式和选项无关。与复制相关的问题主要...
2.6 其他锁问题一些可能影响应用程序的因素包括内部锁和服务器在运行特定操作时的一些互斥请求。不过大多数时候它们保证了数据的完整性。不过有一些异常,比如InnoDB互斥和循环锁,你不能也不应该尝试控制它们,不过由于它们中的一部分可...
2.1 锁和事务MySQL服务器有内部机制来避免用户损坏其他用户插入的数据。尽管通常情况下,这些内部机制默默而有效地运转着,以至于人们没有意识到这些安全机制也会引发你的应用程序或他人应用程序问题。因此,我先简单介绍MySQL服务器使用的并发...
2.3 事务MySQL在存储引擎级别提供事务支持。在官方提供的存储引擎中,最受欢迎的InnoDB引擎就提供了事务的支持。本书将会讨论如何解决InnoDB事务问题。在MySQL中,可以通过START TRANSACTION或BEGIN语句启动...
2.4 元数据锁为了确保数据一致性,在有其他事务使用表的情况下,对该表的DDL操作应该阻塞。从5.5.3版本开始,MySQL使用元数据锁来实现这一特性。当事务开始的时候,它会获取所有需要使用的表上的元数据锁,并在事务结束后释放锁。所有其他想...
2.5 并发如何影响性能我们刚刚讨论了当并发线程或事务产生冲突从而导致性能问题或者甚至查询中止的情况。你已经了解了SQL语句或者存储引擎设置的锁是如何影响并发线程的。这些锁是对用户可见的,尽管它们并非始终容易调试,但是很容易追踪。当应用程序...
1.9 许可问题MySQL有复杂的权限方案,这使得你可以精确地设置哪些用户和主机可以或不可以执行这个或那个操作。从5.5版本开始,MySQL也有了可插拔式的身份验证模式。尽管它有很多优势,但是这个方案很复杂。例如,让user1@hostA、...
1.8 特定于存储引擎的问题及解决方案实际上,本书讨论的任何问题在你使用的存储引擎下都可能会有细微的差别。这种情况将在本书中一直存在。本节展示一些不依赖于其他问题的存储引擎自身的特性。我们将使用针对MyISAM或InnoDB存储引擎的工具来...