mysql資料庫翻核 記一次mysql的調優

2021-10-19 19:35:47 字數 801 閱讀 1348

問題現象

mysql cpu占用188%(多核)

解決方法

1.跟蹤慢查詢

vi /etc/my.cnf 在mysqld下增加如下內容

log-slow-queries = slow.log

long_query_time = 5

含義為記錄查詢時間超過5秒的sql到slow.log

查詢slow.log的內容,發現裡面有大量的sql,下面有幾個sql優化原則

a) 對where語句的字段進行建索引,假定如下sql為slow.log的內容

select count(*) from table where table_column=『test』

那麼就要對該table_column建立索引(這只是乙個普遍的規則,詳細規則請到網上查)

建立了索引以後,修改一下mysql的引數

2.調整mysql引數

vi /etc/my.cnf

在[mysqld]下增加如下

tmp_table_size=1024m

增加完畢後重啟mysql,再進行觀察,如果還是負載很高,可以適當調高,我將這個引數調整到2048後負載就下來了

這個引數值應該根據具體情況具體對待,沒有乙個特定的值。

那麼這個引數到底是幹什麼用的呢?為什麼如此神奇?哈哈,當執行乙個查詢,如果sql對查詢進行group by 或者orderby的時候都會將結果集放在這個空間中,因此說如果這個引數很小的話,就會出現上面的問題了~~頂踩

分享到:

2010-03-11 15:41

瀏覽 1079

分類:資料庫

記一次MySQL資料庫crash事件

mysql8.0資料庫最近一次不知道怎麼回事,突然啟動不了,如下提示 mysql daemon failed to start 日誌如下 網上也找了很多資料,但都處理不了 因為本人安裝資料庫習慣將安裝好的資料庫移到移到其他目錄,所以做了乙個操作,用原來的覆蓋現有的檔案 左邊是原始資料庫檔案,右邊是移...

記一次mysql資料庫失而復得過程

由於是自己買的vps搭建的部落格,用的是軍哥的一鍵lnmp原始碼編譯安裝的,文章也就幾篇,對備份並不太重視,想著等伺服器快到期的時候備份一下不就行了。後來在該伺服器上測試lnmp分別編譯編譯安裝和使用yum各自安裝,及nginx與php關聯,寫了乙個用yum安裝lnmp的指令碼,想著把該指令碼用sc...

資料庫優化 記一次Mysql的優化經歷

1.建立乙個課程表 create table course c id int primary key,name varchar 10 2.建立乙個學生表create table student s id int primary key,name varchar 10 3.建立乙個課程學生表creat...