找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3606|回复: 1

[网站] PHPWIND论坛遭遇MySQL大量Sleep后的处理办法

[复制链接]
惘城落遇 发表于 2012-2-11 22:55:07 | 显示全部楼层 |阅读模式
朋友青云今天帮一个客户处理PHPWIND论坛打开超慢,w3wp把CPU吃到一直保持在100%,客户原来以为是攻击装了一堆防火墙来防止攻击但没任何效果,经过netstat -an > c:ip.txt导出后分析ip.txt发现和MySQL有关,就把MySQL服务停止,CPU马上就下来了,然后开始进一步分析原因。

00091917ljllzc4l1l46jo.jpg

给客户要了下root密码,然后进入mysql命令控制台,输入show processlist发现很多Sleep进程,如下图:
注:怎么进入MySQL控制台?
进入mysql安装目录的bin目录
然后执行命令 mysql -uuser -ppassword database
比如用户名为root,密码为mysql,数据库为test
命令如下
mysql -uroot -pmysql test
也可以直接执行mysql -uroot -pmysql
进入控制台后,使用use test;


0009186th0t077z97tqmbt.jpg
因为以前他也遇到过论坛超慢的问题,就直接怀疑和论坛后台插件有关,就联系上客户把所有插件停止,然后又通过后台的数据库修复把所有表都修复了一下,做完这些后重启MySQL和IIS服务后观察了一会儿发现CPU下来了,果然恢复正常了,上次处理时没做记录,这次记下来,以后再遇到这类问题就轻车熟路了。。




 楼主| 惘城落遇 发表于 2012-2-11 23:00:08 | 显示全部楼层

部分mysql控制台命令

1,启动和关闭数据库
        >
  1. net start mysql
复制代码
>
  1. net stop mysql
复制代码
所以命令必须是一行的第一个,并且以分号结尾:
All text commands must be first on line and end with ";"

2,根据用户名密码,登录数据库
        >
  1. mysql -uroot -p;
复制代码
如果数据库没有密码则使用
        >
  1. mysql -uroot;
复制代码
3,查看在当前服务器中有多少个数据库
        >
  1. show databases;
复制代码
4,删除某个数据库
        >
  1. drop database databaseName;
复制代码
>
  1. commit;
复制代码
5,创建数据库
        >
  1. create database databaseName;
复制代码
6,选择使用某个数据库
        >
  1. use databaseName;
复制代码
7,查看数据库中有多少的表
        >
  1. show tables;
复制代码
8,创建表
        >
  1. create table tableName(
  2.                 id bigint ...
  3.                 name varchar(20)...
  4.                 ...
  5.         );
复制代码
9,显示表结构
        >
  1. describe tableName;
复制代码
10,向表中加入数据并查看
        >
  1. insert into tableName(id,name...) values('1','admin',...);
复制代码
>
  1. select * from tableName;
复制代码
11,导入.sql文件(文件所在路径是F:\file.sql
        >
  1. source F:/file.sql;
复制代码
12,删除表
        >
  1. drop table tableName;
复制代码
13,删除表中的所有数据,但是表结构依然存在
        >
  1. delete from tableName;
复制代码
14,更新表中的数据,如果没有where,则将影响所有的记录
        >
  1. update tableName set name='administrator' where id='1';
复制代码
15,查看服务器版本和当前日期
        >
  1. select version(),current_date;
复制代码
>
  1. select version();
复制代码
>
  1. select now();
复制代码
16,把mysql作为一个简单的计算器
        >
  1. select pi();
复制代码
>
  1. select pi()*10;
复制代码
17,查看用户
        >
  1. select user();
复制代码
18,使用load
        >
  1. load data local infile filePath into table tableName;
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表