mysql最大连接数查询_MYSQL 查看最大连接数和修改最大连接数
MySQL查看最大連接數(shù)和修改最大連接數(shù)
1、查看最大連接數(shù)
show variables like '%max_connections%';
2、修改最大連接數(shù)
set GLOBAL max_connections = 200;
以下的文章主要是向大家介紹的是MySQL最大連接數(shù)的修改,我們大家都知道MySQL最大連接數(shù)的默認(rèn)值是100,
這個數(shù)值對于并發(fā)連接很多的數(shù)據(jù)庫的應(yīng)用是遠(yuǎn)不夠用的,當(dāng)連接請求大于默認(rèn)連接數(shù)后,就會出現(xiàn)無法連接數(shù)據(jù)庫的錯誤,因此我們需要把它適當(dāng)調(diào)大一些。在使
用MySQL數(shù)據(jù)庫的時候,經(jīng)常會遇到這么一個問題,就是“Can not connect to MySQL server. Too many
connections”-mysql
1040錯誤,這是因為訪問MySQL且還未釋放的連接數(shù)目已經(jīng)達(dá)到MySQL的上限。通常,mysql的最大連接數(shù)默認(rèn)是100,
最大可以達(dá)到16384。
常用的修改最大連接數(shù)的最常用的兩種方式如下:
第一種:命令行查看和修改最大連接數(shù)(max_connections)。
>mysql?-uuser?-ppassword(命令行登錄MySQL)
這種方式有個問題,就是設(shè)置的最大連接數(shù)只在mysql當(dāng)前服務(wù)進(jìn)程有效,一旦mysql重啟,又會恢復(fù)到初始狀態(tài)。因為mysql啟動后的初始化工作是從其配置文件中讀取數(shù)據(jù)的,而這種方式?jīng)]有對其配置文件做更改。
第二種:通過修改配置文件來修改mysql最大連接數(shù)(max_connections)。
這種方式說來很簡單,只要修改MySQL配置文件my.ini 或
my.cnf的參數(shù)max_connections,將其改為max_connections=1000,然后重啟MySQL即可。但是有一點最難的就是
my.ini這個文件在哪找。通常有兩種可能,一個是在安裝目錄下,另一種是在數(shù)據(jù)文件的目錄下,安裝的時候如果沒有人為改變目錄的話,一般就在
C:/ProgramData/MySQL往下的目錄下,linux系統(tǒng)中一般在/etc目錄下。
其他需注意的:
在編程時,由于用MySQL語句調(diào)用數(shù)據(jù)庫時,在每次之執(zhí)行語句前,會做一個臨時的變量用來打開數(shù)據(jù)庫,所以你在使用MySQL語句的時候,記得在每次調(diào)用完MySQL之后就關(guān)閉MySQL臨時變量。
另外對于訪問量大的,可以考慮直接寫到文本中,根據(jù)預(yù)測的訪問量,先定義假若是100個文件文件名,需要的時候,再對所有文本文件中的數(shù)據(jù)進(jìn)行分析,再導(dǎo)入數(shù)據(jù)庫。
如果是root帳號,你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號,只能看到自己占用的連接
怎么進(jìn)入mysql命令行呢? mysql的安裝目錄下面有個bin目錄,先用命令行進(jìn)入該目錄,然后用 mysql -uroot -p123456 來登錄(注意:用戶名和密碼不用包含“”)
命令: show processlist;
如果是root帳號,你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號,只能看到自己占用的連接。
show processlist;只列出前100條,如果想全列出請使用show full processlist;
mysql> show processlist;
命令: show status;
命令:show status like '%下面變量%';
Aborted_clients??????????????? 由于客戶沒有正確關(guān)閉連接已經(jīng)死掉,已經(jīng)放棄的連接數(shù)量。
Aborted_connects??????????? 嘗試已經(jīng)失敗的MySQL服務(wù)器的連接的次數(shù)。
Connections???????????????????? 試圖連接MySQL服務(wù)器的次數(shù)。
Created_tmp_tables????????? 當(dāng)執(zhí)行語句時,已經(jīng)被創(chuàng)造了的隱含臨時表的數(shù)量。
Delayed_insert_threads? ?? 正在使用的延遲插入處理器線程的數(shù)量。
Delayed_writes?? ? ? ? ? ? ?? 用INSERT DELAYED寫入的行數(shù)。
Delayed_errors??????????????? 用INSERT DELAYED寫入的發(fā)生某些錯誤(可能重復(fù)鍵值)的行數(shù)。
Flush_commands?????? ? ?? 執(zhí)行FLUSH命令的次數(shù)。
Handler_delete ? ? ? ? ? ? ? ? 請求從一張表中刪除行的次數(shù)。
Handler_read_first ? ? ? ?? 請求讀入表中第一行的次數(shù)。
Handler_read_key?????????? 請求數(shù)字基于鍵讀行。
Handler_read_next?????????? 請求讀入基于一個鍵的一行的次數(shù)。
Handler_read_rnd?????????? 請求讀入基于一個固定位置的一行的次數(shù)。
Handler_update????????????? 請求更新表中一行的次數(shù)。
Handler_write???????????????? 請求向表中插入一行的次數(shù)。
Key_blocks_used??????????? 用于關(guān)鍵字緩存的塊的數(shù)量。
Key_read_requests???????? 請求從緩存讀入一個鍵值的次數(shù)。
Key_reads????????????????????? 從磁盤物理讀入一個鍵值的次數(shù)。
Key_write_requests???????? 請求將一個關(guān)鍵字塊寫入緩存次數(shù)。
Key_writes????????????????????? 將一個鍵值塊物理寫入磁盤的次數(shù)。
Max_used_connections ?? 同時使用的連接的最大數(shù)目。
Not_flushed_key_blocks ? 在鍵緩存中已經(jīng)改變但是還沒被清空到磁盤上的鍵塊。
Not_flushed_delayed_rows????? 在INSERT DELAY隊列中等待寫入的行的數(shù)量。
Open_tables????????????????? 打開表的數(shù)量。
Open_files???????????????????? 打開文件的數(shù)量。
Open_streams?????????????? 打開流的數(shù)量(主要用于日志記載)
Opened_tables ? ? ? ? ? ?? 已經(jīng)打開的表的數(shù)量。
Questions ? ? ? ? ? ? ? ? ? ? 發(fā)往服務(wù)器的查詢的數(shù)量。
Slow_queries??????????????? 要花超過long_query_time時間的查詢數(shù)量。
Threads_connected ? ? ? 當(dāng)前打開的連接的數(shù)量。
Threads_running ? ? ? ?? 不在睡眠的線程數(shù)量。
Uptime ? ? ? ? ? ? ? ? ? ? ?? 服務(wù)器工作了多少秒。
總結(jié)
以上是生活随笔為你收集整理的mysql最大连接数查询_MYSQL 查看最大连接数和修改最大连接数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.7.13_mysql5.7
- 下一篇: rowid 对应mysql_请教一下相当