溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql連接數(shù)指的是什么

發(fā)布時(shí)間:2023-05-10 09:57:35 來(lái)源:億速云 閱讀:124 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

本篇內(nèi)容介紹了“mysql連接數(shù)指的是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

mysql連接數(shù)是指數(shù)據(jù)庫(kù)最多能夠同時(shí)接受的客戶連接數(shù)。MySQL連接數(shù)是一個(gè)必須要考慮到的組件,它可以在幫助數(shù)據(jù)庫(kù)能夠安全運(yùn)行的同時(shí),最大化數(shù)據(jù)庫(kù)當(dāng)前的性能;MySQL連接數(shù)是一個(gè)重要的配置,它可以影響數(shù)據(jù)庫(kù)中客戶端傳輸和處理的數(shù)據(jù)量。如果連接數(shù)太小,可能導(dǎo)致連接請(qǐng)求阻塞而發(fā)生超時(shí);如果連接數(shù)太大,會(huì)占用大量的內(nèi)存,導(dǎo)致性能低下。

mysql連接數(shù)介紹

數(shù)據(jù)庫(kù)連接數(shù),即數(shù)據(jù)庫(kù)最多能夠同時(shí)接受的客戶連接數(shù)。

MySQL 連接數(shù)是一個(gè)必須要考慮到的組件,它可以在幫助數(shù)據(jù)庫(kù)能夠安全運(yùn)行的同時(shí),最大化數(shù)據(jù)庫(kù)當(dāng)前的性能。它用來(lái)控制哪些客戶端可以連接到數(shù)據(jù)庫(kù),又稱(chēng)作“Maximum Connection”。

MySQL 連接數(shù)是一個(gè)重要的配置,它可以影響數(shù)據(jù)庫(kù)中客戶端傳輸和處理的數(shù)據(jù)量。如果 MySQL 連接數(shù)太小,可能導(dǎo)致連接請(qǐng)求阻塞而發(fā)生超時(shí);如果 MySQL 連接數(shù)太大,會(huì)占用大量的內(nèi)存,導(dǎo)致性能低下。因此,MySQL 的連接數(shù)要合理地設(shè)置。

MySQL 的連接數(shù)可以通過(guò) MySQL 的配置文件 my.cnf 來(lái)調(diào)整,也可以使用以下 MySQL 命令動(dòng)態(tài)調(diào)整:

SET GLOBAL max_connections=300;

上述命令可以將 MySQL 最大連接數(shù)設(shè)置為 300,也可以在對(duì)應(yīng)的 my.cnf 文件中設(shè)置該參數(shù):

max_connections=300

MySQL 的連接數(shù)可以用下面的 MySQL 命令檢查:

SHOW STATUS LIKE 'Max_used_connections';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Max_used_connections    | 123   |
+-------------------------+-------+

上面的值 123 表示 VW 系統(tǒng)上最多同時(shí)有 123 個(gè)連接訪問(wèn) MySQL。它也有助于評(píng)估系統(tǒng)當(dāng)前的最大連接數(shù)是否合理:

  • 如果數(shù)值較高,表明系統(tǒng)同時(shí)可能有大量的客戶端訪問(wèn) MySQL,這時(shí)最好考慮調(diào)整 MySQL 的最大連接數(shù);

  • 如果數(shù)值較小,表明未能全面利用系統(tǒng)的可用資源,這時(shí)可以考慮增加 MySQL 的最大連接數(shù)。

總的來(lái)說(shuō),MySQL 的連接數(shù)是必須要考慮到的一個(gè)組件,它對(duì)于系統(tǒng)安全和性能有著重要影響。因此要對(duì)其合理調(diào)整,以最大化地?cái)U(kuò)大 MySQL 性能。

Mysql怎么查看連接數(shù)(連接總數(shù)、活躍數(shù)、最大并發(fā)數(shù))

show variables like '%max_connection%'; 查看最大連接數(shù)
set global max_connections=1000;        重新設(shè)置最大連接數(shù)
mysql> show status like  'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 32    |
| Threads_connected | 10    |
| Threads_created   | 50    |
| Threads_rejected  | 0     |
| Threads_running   | 1     |
+-------------------+-------+
5 rows in set (0.00 sec)

  • Threads_connected :這個(gè)數(shù)值指的是打開(kāi)的連接數(shù).

  • Threads_running :這個(gè)數(shù)值指的是激活的連接數(shù),這個(gè)數(shù)值一般遠(yuǎn)低于connected數(shù)值.

  • Threads_connected 跟show processlist結(jié)果相同,表示當(dāng)前連接數(shù)。準(zhǔn)確的來(lái)說(shuō),Threads_running是代表當(dāng)前并發(fā)數(shù)

查詢數(shù)據(jù)庫(kù)當(dāng)前設(shè)置的最大連接數(shù)

mysql> show variables like '%max_connection%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| extra_max_connections |       |
| max_connections       | 2512  |
+-----------------------+-------+
2 rows in set (0.00 sec)

在/etc/my.cnf里面設(shè)置數(shù)據(jù)庫(kù)的最大連接數(shù)

[mysqld]
max_connections = 100

MySQL服務(wù)器的線程數(shù)需要在一個(gè)合理的范圍之內(nèi),這樣才能保證MySQL服務(wù)器健康平穩(wěn)地運(yùn)行。Threads_created表示創(chuàng)建過(guò)的線程數(shù),通過(guò)查看Threads_created就可以查看MySQL服務(wù)器的進(jìn)程狀態(tài)。

mysql> show global status like 'Thread%';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Threadpool_idle_threads | 0     |
| Threadpool_threads      | 0     |
| Threads_cached          | 29    |
| Threads_connected       | 13    |
| Threads_created         | 50    |
| Threads_rejected        | 0     |
| Threads_running         | 1     |
+-------------------------+-------+
7 rows in set (0.00 sec)

如果我們?cè)贛ySQL服務(wù)器配置文件中設(shè)置了thread_cache_size,當(dāng)客戶端斷開(kāi)之后,服務(wù)器處理此客戶的線程將會(huì)緩存起來(lái)以響應(yīng)下一個(gè)客戶而不是銷(xiāo)毀(前提是緩存數(shù)未達(dá)上限)。

Threads_created表示創(chuàng)建過(guò)的線程數(shù),如果發(fā)現(xiàn)Threads_created值過(guò)大的話,表明MySQL服務(wù)器一直在創(chuàng)建線程,這也是比較耗資源,可以適當(dāng)增加配置文件中thread_cache_size值,查詢服務(wù)器thread_cache_size的值:

mysql> show variables like 'thread_cache_size';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| thread_cache_size | 100   |
+-------------------+-------+
1 row in set (0.00 sec)

命令:show processlist;

如果是root帳號(hào),你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號(hào),只能看到自己占用的連接。

show processlist命令只列出前100條,如果想全列出請(qǐng)使用show full processlist;

mysql> show processlist;

命令:show status;

mysql>show status like '%變量名%';

變量名如下:

  • Aborted_clients 由于客戶沒(méi)有正確關(guān)閉連接已經(jīng)死掉,已經(jīng)放棄的連接數(shù)量。

  • Aborted_connects 嘗試已經(jīng)失敗的MySQL服務(wù)器的連接的次數(shù)。

  • Connections 試圖連接MySQL服務(wù)器的次數(shù)。

  • Created_tmp_tables 當(dāng)執(zhí)行語(yǔ)句時(shí),已經(jīng)被創(chuàng)造了的隱含臨時(shí)表的數(shù)量。

  • Delayed_insert_threads 正在使用的延遲插入處理器線程的數(shù)量。

  • Delayed_writes 用INSERT DELAYED寫(xiě)入的行數(shù)。

  • Delayed_errors 用INSERT DELAYED寫(xiě)入的發(fā)生某些錯(cuò)誤(可能重復(fù)鍵值)的行數(shù)。

  • Flush_commands 執(zhí)行FLUSH命令的次數(shù)。

  • Handler_delete 請(qǐng)求從一張表中刪除行的次數(shù)。

  • Handler_read_first 請(qǐng)求讀入表中第一行的次數(shù)。

  • Handler_read_key 請(qǐng)求數(shù)字基于鍵讀行。

  • Handler_read_next 請(qǐng)求讀入基于一個(gè)鍵的一行的次數(shù)。

  • Handler_read_rnd 請(qǐng)求讀入基于一個(gè)固定位置的一行的次數(shù)。

  • Handler_update 請(qǐng)求更新表中一行的次數(shù)。

  • Handler_write 請(qǐng)求向表中插入一行的次數(shù)。

  • Key_blocks_used 用于關(guān)鍵字緩存的塊的數(shù)量。

  • Key_read_requests 請(qǐng)求從緩存讀入一個(gè)鍵值的次數(shù)。

  • Key_reads 從磁盤(pán)物理讀入一個(gè)鍵值的次數(shù)。

  • Key_write_requests 請(qǐng)求將一個(gè)關(guān)鍵字塊寫(xiě)入緩存次數(shù)。

  • Key_writes 將一個(gè)鍵值塊物理寫(xiě)入磁盤(pán)的次數(shù)。

  • Max_used_connections 同時(shí)使用的連接的最大數(shù)目。

  • Not_flushed_key_blocks 在鍵緩存中已經(jīng)改變但是還沒(méi)被清空到磁盤(pán)上的鍵塊。

  • Not_flushed_delayed_rows 在INSERT DELAY隊(duì)列中等待寫(xiě)入的行的數(shù)量。

  • Open_tables 打開(kāi)表的數(shù)量。

  • Open_files 打開(kāi)文件的數(shù)量。

  • Open_streams 打開(kāi)流的數(shù)量(主要用于日志記載)

  • Opened_tables 已經(jīng)打開(kāi)的表的數(shù)量。

  • Questions 發(fā)往服務(wù)器的查詢的數(shù)量。

  • Slow_queries 要花超過(guò)long_query_time時(shí)間的查詢數(shù)量。

  • Threads_connected 當(dāng)前打開(kāi)的連接的數(shù)量。

  • Threads_running 不在睡眠的線程數(shù)量。

  • Uptime 服務(wù)器工作了多長(zhǎng)時(shí)間,單位秒。

“mysql連接數(shù)指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI