Mysql数据库导致CPU很高的问题解决
服务器环境 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 -- 释放结果内存 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |