mysql狀態 及配置資訊

來源:互聯網
上載者:User

命令: show processlist; 
如果是root帳號,你能看到所有使用者的當前串連。如果是其它普通帳號,只能看到自己佔用的串連。 
show processlist;只列出前100條,如果想全列出請使用show full processlist; 
mysql> show processlist;

 

命令: show status;

命令:show status like '%下面變數%';

Aborted_clients 由於客戶沒有正確關閉串連已經死掉,已經放棄的串連數量。 
Aborted_connects 嘗試已經失敗的MySQL伺服器的串連的次數。 
Connections 試圖串連MySQL伺服器的次數。 
Created_tmp_tables 當執行語句時,已經被創造了的隱含暫存資料表的數量。 
Delayed_insert_threads 正在使用的延遲插入處理器線程的數量。 
Delayed_writes 用INSERT DELAYED寫入的行數。 
Delayed_errors 用INSERT DELAYED寫入的發生某些錯誤(可能重複索引值)的行數。 
Flush_commands 執行FLUSH命令的次數。 
Handler_delete 請求從一張表中刪除行的次數。 
Handler_read_first 請求讀入表中第一行的次數。 
Handler_read_key 請求數字基於鍵讀行。 
Handler_read_next 請求讀入基於一個鍵的一行的次數。 
Handler_read_rnd 請求讀入基於一個固定位置的一行的次數。 
Handler_update 請求更新表中一行的次數。 
Handler_write 請求向表中插入一行的次數。 
Key_blocks_used 用於關鍵字緩衝的塊的數量。 
Key_read_requests 請求從緩衝讀入一個索引值的次數。 
Key_reads 從磁碟物理讀入一個索引值的次數。 
Key_write_requests 請求將一個關鍵字塊寫入緩衝次數。 
Key_writes 將一個索引值塊物理寫入磁碟的次數。 
Max_used_connections 同時使用的串連的最大數目。 
Not_flushed_key_blocks 在金鑰快取中已經改變但是還沒被清空到磁碟上的鍵塊。 
Not_flushed_delayed_rows 在INSERT DELAY隊列中等待寫入的行的數量。 
Open_tables 開啟表的數量。 
Open_files 開啟檔案的數量。 
Open_streams 開啟流的數量(主要用於日誌記載) 
Opened_tables 已經開啟的表的數量。 
Questions 發往伺服器的查詢的數量。 
Slow_queries 要花超過long_query_time時間的查詢數量。 
Threads_connected 當前開啟的串連的數量。 
Threads_running 不在睡眠的線程數量。 
Uptime 伺服器工作了多少秒。

 

 

 

My.ini配置 虛擬記憶體

 

 

 

innodb_buffer_pool_size=576M   ->128M InnoDB引擎緩衝區

query_cache_size=100M             ->32 查詢快取
tmp_table_size=102M                  ->32M 暫存資料表大小
key_buffer_size=16m                  ->8M

 

設定max_connections

命令:show variables like '%max_connections%'
(這個辦法在debian+mysql  Ver 12.22 Distrib 4.0.22, for pc-linux (i386)
裡實驗了)
設定辦法是在my.cnf檔案中,添加下面的最後紅色的一行:

 

--------------------------------------------------------------------------------

 

[mysqld] 
port=3306 
#socket=MySQL 
skip-locking 
set-variable = key_buffer=16K 
set-variable = max_allowed_packet=1M 
set-variable = thread_stack=64K 
set-variable = table_cache=4 
set-variable = sort_buffer=64K 
set-variable = net_buffer_length=2K 
set-variable = max_connections=32000 
(在院裡的DELL機器mysql4.0裡的文法不同
max_connecionts=2000
直接這麼寫就好了

 

 

--------------------------------------------------------------------------------

 

修改完畢後,重啟MySQL即可。當然,為了確保設定正確,應該查看一下max_connections。

注意: 
1、雖然這裡寫的32000。但實際MySQL伺服器允許的最大串連數16384; 
2、除max_connections外,上述其他配置應該根據你們系統自身需要進行配置,不必拘泥; 
3、添加了最大允許串連數,對系統消耗增加不大。 
4、如果你的mysql用的是my.ini作設定檔,設定類似,但設定的格式要稍作變通。

 

用mysqld --help 可以查看到max_connections 變數。 
或者 mysql -uuser -p
後mysql>show variables;
也會看到max_connections 。   

下面是修改張老師 的redhat9的方法:

先是mysql -uw01f -p
mysql>show variables;
看到max_connections 為100
mysql>exit;
vi /etc/my.cnf
    [mysqld]
set-variable=max_connections=250  #加入這些內容
:wq

/etc/init.d/mysqld restart
好了,行了。

 

下面的是抄的,我用不了
mysql的最大串連數預設是100, 這個數值對於並發串連很多的資料庫應用是遠遠不夠的,當串連請求大於預設串連數後,就會出現無法串連資料庫的錯誤,因此我們需要把它適當調大一些, 有兩種辦法可以修改最大串連數,一種是修改safe_mysqld,另一種是直接修改原代碼並重新編譯。下面我們就分別介紹這兩種方法:

1.修改safe_mysqld 
找到safe_mysqld編輯它,找到mysqld啟動的那兩行,在後面加上參數 :

-O max_connections=1000

例如 :(其中前面有---的是原來的內容,而+++是修改過以後的) 
--- safe_mysqld.orig Mon Sep 25 09:34:01 2000 
+++ safe_mysqld Sun Sep 24 16:56:46 2000 
@@ -109,10 +109,10 @@ 
if test "$#" -eq 0 
then 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking >> $err_log 2>&1 
+ --skip-locking -O max_connections=1000 >> $err_log 2>&1 
else 
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR / 
- --skip-locking "$@" >> $err_log 2>&1 
+ --skip-locking "$@" -O max_connections=1000 >> $err_log 2>&1 
fi 
if test ! -f $pid_file # This is removed if normal shutdown 
then 
然後關閉mysql重啟它,用 
/mysqladmin所在路徑/mysqladmin -uroot -p variables 
輸入root資料庫帳號的密碼後可看到 
| max_connections | 1000 | 
即新改動已經生效。

2.修改原代碼

解開MySQL的原代碼,進入裡面的sql目錄修改mysqld.cc找到下面一行:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

把它改為:

{ "max_connections", (long*) &max_connections,1000,1,16384,0,1},

存檔退出,然後./configure ;make;make install可以獲得同樣的效果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.