当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 关于Mysql数据库导致CPU很高的问题解决

MYSQL
Mysql中mysqldump命令使用详解
常见mysql错误代码详细解析
设置 MySql 数据同步
MySQL集群配置
ASP连接MySQL数据库的方法
linux操作系统下建立mysql镜像数据库
加大MySql的最大连接数
使用"函数递归"实现基于php和MySQL的动态树型菜单
基于MySQL的高性能数据库应用开发
在同一台机器上运行多个MySQL服务器
从MySQL到ORACLE程序迁移的注意事项
安全专家讲解Mysql故障详细的诊断过程
Mysql中日期和时间函数应用不用求人
你可能不知道 Mysql的常用命令收集
您可能不知道 MySQL表最大能达到多少
mysql5中遭遇的字符集问题及其解决方案
教你轻松的掌握 MYSQL连接字符集和校对
快速的掌握可以运行MySQL的操作系统
在服务器上安装使用 MySQL 的注意事项
简简单单掌握对MySQL无效数据的约束

MYSQL 中的 关于Mysql数据库导致CPU很高的问题解决


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 117 ::
收藏到网摘: n/a

  服务器环境 Liunx AS4 + PHP5 + Mysql5 + Apache 2

  实用TOP 命令查询系统性能的时候发现CPU经常到达100%

  开始以为是DDOS攻击……加装了防火墙(没起作用)

  又开始从liunx系统查找是不是系统问题,(也没起作用)

  偶尔从网络上发现一篇文章,有人也类似遇到了这样的问题,但并没指出具体解决方案,

  不过提醒了我,不是系统问题就是程序问题!

  这次我开始从新过滤PHP代码,偶尔发现很多兄弟写的代码只有“常”连接,竟然没有Close!

   我把所以的页面都加装了数据库关闭,发现CPU一直就保持在1%~10%之间(正常)

  所以提醒大家在写PHP程序的时候不要为了一点懒,导致系统溢出这样低级的错误!

  好了就写倒这里了,一个小问题花了我几乎一个下午搞这个!也算是教训!

  把一些mysql常用函数贴上,请牢记!其他类型数据库举一反三!

  mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数

  mysql_change_user -- 改变活动连接中登录的用户

  mysql_client_encoding -- 返回字符集的名称

  mysql_close -- 关闭 MySQL 连接

  mysql_connect -- 打开一个到 MySQL 服务器的连接

  mysql_create_db -- 新建一个 MySQL 数据库

  mysql_data_seek -- 移动内部结果的指针

  mysql_db_name -- 取得结果数据

  mysql_db_query -- 发送一条 MySQL 查询

  mysql_drop_db -- 丢弃(删除)一个 MySQL 数据库

  mysql_errno -- 返回上一个 MySQL 操作中的错误信息的数字编码

  mysql_error -- 返回上一个 MySQL 操作产生的文本错误信息

  mysql_escape_string -- 转义一个字符串用于 mysql_query

  mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有

  mysql_fetch_assoc -- 从结果集中取得一行作为关联数组

  mysql_fetch_field -- 从结果集中取得列信息并作为对象返回

  mysql_fetch_lengths -- 取得结果集中每个输出的长度

  mysql_fetch_object -- 从结果集中取得一行作为对象

  mysql_fetch_row -- 从结果集中取得一行作为枚举数组

  mysql_field_flags -- 从结果中取得和指定字段关联的标志

  mysql_field_len -- 返回指定字段的长度

  mysql_field_name -- 取得结果中指定字段的字段名

  mysql_field_seek -- 将结果集中的指针设定为制定的字段偏移量

  mysql_field_table -- 取得指定字段所在的表名

  mysql_field_type -- 取得结果集中指定字段的类型

  mysql_free_result -- 释放结果内存

  mysql_get_client_info -- 取得 MySQL 客户端信息

  mysql_get_host_info -- 取得 MySQL 主机信息

  mysql_get_proto_info -- 取得 MySQL 协议信息

  mysql_get_server_info -- 取得 MySQL 服务器信息

  mysql_info -- 取得最近一条查询的信息

  mysql_insert_id -- 取得上一步 INSERT 操作产生的 ID

  mysql_list_dbs -- 列出 MySQL 服务器中所有的数据库

  mysql_list_fields -- 列出 MySQL 结果中的字段

  mysql_list_processes -- 列出 MySQL 进程

  mysql_list_tables -- 列出 MySQL 数据库中的表

  mysql_num_fields -- 取得结果集中字段的数目

  mysql_num_rows -- 取得结果集中行的数目

  mysql_pconnect -- 打开一个到 MySQL 服务器的持久连接

  mysql_ping -- Ping 一个服务器连接,如果没有连接则重新连接

  mysql_query -- 发送一条 MySQL 查询

  mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集

  mysql_result -- 取得结果数据

  mysql_select_db -- 选择 MySQL 数据库

  mysql_stat -- 取得当前系统状态

  mysql_tablename -- 取得表名

  mysql_thread_id -- 返回当前线程的 ID

  mysql_unbuffered_query -- 向 MySQL 发送一条 SQL 查询,并不获取和缓存结果的行。