程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 關於Mysql數據庫導致CPU很高的問題解決

關於Mysql數據庫導致CPU很高的問題解決

編輯:關於MYSQL數據庫

  服務器環境 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 查詢,並不獲取和緩存結果的行

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved