MySQL查看最大鏈接數和修改最大鏈接數mysql
一、查看最大鏈接數
show variables like '%max_connections%';
二、修改最大鏈接數
set GLOBAL max_connections = 200;linux
如下的文章主要是向你們介紹的是MySQL最大鏈接數的修改,咱們你們都知道MySQL最大鏈接數的默認值是100, 這個數值對於併發鏈接不少的數據庫的應用是遠不夠用的,當鏈接請求大於默認鏈接數後,就會出現沒法鏈接數據庫的錯誤,所以咱們須要把它適當調大一些。在使 用MySQL數據庫的時候,常常會遇到這麼一個問題,就是「Can not connect to MySQL server. Too many connections」-mysql 1040錯誤,這是由於訪問MySQL且還未釋放的鏈接數目已經達到MySQL的上限。一般,mysql的最大鏈接數默認是100, 最大能夠達到16384。sql
經常使用的修改最大鏈接數的最經常使用的兩種方式以下:數據庫
第一種:命令行查看和修改最大鏈接數(max_connections)。編程
>mysql -uuser -ppassword(命令行登陸MySQL)
緩存
mysql>show variables
like
'max_connections'
;(查能夠看當前的最大鏈接數)
msyql>
set
global
max_connections=1000;(設置最大鏈接數爲1000,能夠再次查看是否設置成功)
mysql>exit
這種方式有個問題,就是設置的最大鏈接數只在mysql當前服務進程有效,一旦mysql重啓,又會恢復到初始狀態。由於mysql啓動後的初始化工做是從其配置文件中讀取數據的,而這種方式沒有對其配置文件作更改。服務器
第二種:經過修改配置文件來修改mysql最大鏈接數(max_connections)。併發
這種方式說來很簡單,只要修改MySQL配置文件my.ini 或 my.cnf的參數max_connections,將其改成max_connections=1000,而後重啓MySQL便可。可是有一點最難的就是 my.ini這個文件在哪找。一般有兩種可能,一個是在安裝目錄下,另外一種是在數據文件的目錄下,安裝的時候若是沒有人爲改變目錄的話,通常就在 C:/ProgramData/MySQL往下的目錄下,linux系統中通常在/etc目錄下。post
其餘需注意的:spa
在編程時,因爲用MySQL語句調用數據庫時,在每次之執行語句前,會作一個臨時的變量用來打開數據庫,因此你在使用MySQL語句的時候,記得在每次調用完MySQL以後就關閉MySQL臨時變量。
另外對於訪問量大的,能夠考慮直接寫到文本中,根據預測的訪問量,先定義倘若是100個文件文件名,須要的時候,再對全部文本文件中的數據進行分析,再導入數據庫。
若是是root賬號,你能看到全部用戶的當前鏈接。若是是其它普通賬號,只能看到本身佔用的鏈接
怎麼進入mysql命令行呢? mysql的安裝目錄下面有個bin目錄,先用命令行進入該目錄,而後用 mysql -uroot -p123456 來登陸(注意:用戶名和密碼不用包含「」)
命令: 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 服務器工做了多少秒。