转:http://www.linuxidc.com/Linux/2013-03/81079.htm
发现问题
top命令 查看服务器负载,发现 mysql竟然经常百分之九十几的cpu,引起Mysql 负载这么高的原因,估计主要应该是索引问题和某些变态SQL语句.
排查思路
1. 确定高负载的类型,top命令看负载高是CPU还是IO。
2. 检查慢查询日志,如果前端上了新代码,可能是慢查询引起负载高。
3. 检查硬件问题,是否磁盘故障问题造成的。
4. 检查监控平台,对比此机器不同时间的负载。
记录慢查询
编辑Mysql 配置文件(my.cnf),在[mysqld]字段添加以下几行:
log_slow_queries = /usr/local/mysql/var/slow_queries.log #慢查询日志路径
long_query_time = 5 #记录SQL查询超过5s的语句
log-queries-not-using-indexes = 1 #记录没有使用索引的sql
查看慢查询日志
- tail /usr/local/mysql/var/slow_queries.log
# Time: 130308 7:56:39
# User@Host: user[xxxx] @ xxxx[]
# Query_time: 0.001118 Lock_time: 0.000301 Rows_sent: 26 Rows_examined: 52
SET timestamp=1362711399;
SELECT * FROM com WHERE iSUSEd = 1 AND category_id IN ('1') ORDER BY vieworder ASC;
4个参数
Query_time: 0 Lock_time: 0 Rows_sent: 1 Rows_examined: 54
分别意思为:查询时间 锁定时间 查询结果行数 扫描行数
主要看扫描行数多的语句,然后去数据库加上对应的索引,再优化下变态的sql 语句。
极端情况kill sql进程
找出占用cpu时间过长的sql,在mysql 下执行如下命令:
- show processlist;
确定后一条sql处于Query状态,且Time时间过长,锁定它的ID,执行如下命令:
- kill QUERY 269815764;
注意:杀死 sql进程,可能导致数据丢失,所以执行前要衡量数据的重要性。
相关推荐
MySQL主备复制是数据库高可用性的常见解决方案。在复制过程中,一台MySQL服务器作为主服务器(Master),将数据变更记录到二进制日志(binary log)中;一台或多台作为备服务器(Slave),从主服务器获取这些日志并...
为了提高系统的稳定性和可用性,采用MySQL负载均衡和双主热备(Master-Master Replication)方案成为了一种常见的解决方案。本文将详细介绍如何通过MySQL实现负载均衡及双主热备方案,帮助读者理解其工作原理及具体...
在高并发高负载类网站中,数据库的响应速度是首要解决的问题。MySQL是最常用的数据库管理系统,但是在数据量达到100万以上时,MySQL的效率会急剧下降。为了解决这个问题,我们可以使用M-S(主-从)方式进行同步复制...
MySQL5.5是一款广泛应用的关系型数据库管理系统,由Oracle公司维护。它是MySQL的早期版本,以其高效、稳定和易用性而受到开发者的喜爱。在本文中,我们将详细探讨MySQL5.5的安装过程以及如何使用界面展示软件来管理...
#### 一、MySQL 安装与环境变量设置 在进行 MySQL 主从库配置之前,我们需要确保已经正确安装了 MySQL,并设置了相应的环境变量。以下是具体的步骤: 1. **下载 MySQL 免安装版**: - 访问 MySQL 官方下载页面:...
MySQL Proxy是一款开源的MySQL客户端/服务器中间件,它可以在客户端和MySQL服务器之间建立一层代理层,用于实现连接管理和SQL语句过滤等功能。 - **主要功能**: - **连接管理**:动态管理客户端与数据库服务器...
这在进行性能测试时非常有用,可以验证数据库响应速度,检查数据库在高负载下的稳定性。 总之,JMeter连接MySQL数据库的过程涉及了JDBC Connection Configuration的配置、mysql-connector-java驱动的引入以及JDBC ...
《MySQL CPU占用率100%问题分析及解决方案——以Discuz论坛为例》 在互联网社区建设中,Discuz论坛以其强大的功能和易用性深受广大用户的喜爱。然而,随着论坛规模的扩大,数据量的增长,可能会遇到一个问题:论坛...
- **特点**: 由MySQL官方推出的集群解决方案,能够提供接近实时的数据复制,非常适合处理大规模在线交易处理(OLTP)负载。具有极高的可用性,能够达到99.999%。 #### 四、高可用方案选择的依据 在选择适合自身业务...
### MySQL数据库双机集群知识点详解 ...综上所述,MySQL Cluster是一种强大的数据库集群解决方案,适用于需要高可用性、高性能和可扩展性的应用场景。通过合理规划和配置,可以有效地提高数据库系统的稳定性和效率。
在本例中,我们关注的是版本5.1.35的MySQL Connector/J。 JDBC驱动主要有四种类型,分别是Type 1、Type 2、Type 3和Type 4。MySQL Connector/J属于Type 4,即纯Java的网络驱动,它不依赖于任何本地库,可以在任何...
如果从机的性能较差,如使用低速硬盘(如SATA而非SSD),或者CPU负载过高,可能会影响数据同步的速度。确保从机的配置至少与主机相当,特别是在高可用性要求较高的场景,如金融行业。 【从机负载】从机上执行的额外...
本教程以`mysql-5.5.40-win32.msi`为例。 - **第二步**:双击安装文件,开始解压缩过程,并启动安装向导。 ##### 2. 选择安装类型 - **选项**: - **Typical(默认)**:安装最常用的组件和选项。 - **Complete...
以下是一个简单的shell脚本示例(以`mysql.bash`为例): ```bash #!/bin/bash # 定义MySQL服务器信息 MYSQL_USER="username" MYSQL_PASS="password" MYSQL_HOST="localhost" MYSQL_PORT="3306" # 监控连接数 ...
以主机A为例: ```sql CHANGE MASTER TO MASTER_HOST='192.168.0.252', MASTER_USER='repl2', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98; ``` ### 八、Heartbeat与...
在高可用性方面,Jeremy Cole指出,MySQL在高负载下的表现,尤其是在系统必须始终在线的行业场景下,需要关注数据库迁移、升级等变更对业务连续性的影响。通常情况下,通过50步的在线迁移,而非导致停机的2步迁移,...
为了更直观地理解MySQL在Linux应用中的集成过程,以下以一个简单的Tcl脚本为例,展示如何通过Tcl语言与MySQL交互: ```tcl package require mysqltcl # 连接数据库 set db [mysql::connect -host localhost -user ...