日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何实时查看mysql当前连接数

發(fā)布時間:2025/6/15 数据库 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何实时查看mysql当前连接数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如何實時查看mysql當(dāng)前連接數(shù)?


如何實時查看mysql當(dāng)前連接數(shù)??


1、查看當(dāng)前所有連接的詳細(xì)資料:

./mysqladmin -uadmin -p -h10.140.1.1 processlist



2、只查看當(dāng)前連接數(shù)(Threads就是連接數(shù).):

./mysqladmin ?-uadmin -p -h10.140.1.1 status



、查看當(dāng)前所有連接的詳細(xì)資料:

mysqladmin -uroot -proot processlist

D:\MySQL\bin>mysqladmin -uroot -proot processlist

+-----+------+----------------+---------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+-----+------+----------------+---------+---------+------+-------+------------------+

| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |

| 701 | root | localhost:3761 | | uery | 0 | | show processlist |

+-----+------+----------------+---------+---------+------+-------+------------------+

2、只查看當(dāng)前連接數(shù)(Threads就是連接數(shù).):

mysqladmin -uroot -proot status

D:\MySQL\bin>mysqladmin -uroot -proot status

Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab

les: 1 Open tables: 61 Queries per second avg: 7.389

3、修改mysql最大連接數(shù):

打開my.ini,修改max_connections=100(默認(rèn)為100)。



今天有一臺mysql服務(wù)器突然連接數(shù)暴增,并且等待進(jìn)程全部被鎖...因為問題解決不當(dāng),導(dǎo)致被罵...OTL


總結(jié):以后要快速定位錯誤,布置解決方案


登錄到mysql客戶端后,使用status命令也能獲得thread連接數(shù)以及當(dāng)前連接的id


或者用


show full processlist?


看一下所有連接進(jìn)程,注意查看進(jìn)程等待時間以及所處狀態(tài) 是否locked


如果進(jìn)程過多,就把進(jìn)程打印下來,然后查看


mysql -e 'show full processlist;' > 111


查找非locked的進(jìn)程,一般就是當(dāng)前執(zhí)行中卡死,導(dǎo)致后面的進(jìn)程排隊的原因。


另外,修改mysql最大連接數(shù)的方法:


編輯MySQL(和PHP搭配之最佳組合)配置文件 

my.cnf 或者是 my.ini


在[MySQL(和PHP搭配之最佳組合)d]配置段添加:

max_connections = 1000


保存,重啟MySQL(和PHP搭配之最佳組合)服務(wù)。


然后用命令:

MySQL(和PHP搭配之最佳組合)admin -uroot -p variables?

輸入root數(shù)據(jù)庫賬號的密碼后可看到?

| max_connections | 1000 |



查看MySQL連接數(shù)和當(dāng)前用戶Mysql連接數(shù)



先用管理員身份進(jìn)入mysql提示符。

#mysql -uroot -pxxxx

mysql> show processlist; 可以顯示前100條連接信息 show full processlist; 可以顯示全部。隨便說下,如果用普通賬號登錄,就只顯示這用戶的。注意命令后有分號。


如果我們想查看這臺服務(wù)器設(shè)置。 #vi /etc/my.cnf

set-variable=max_user_connections=30 這個就是單用戶的連接數(shù)

set-variable=max_connections=800 這個是全局的限制連接數(shù)

==========================================================

命令: 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ù)器工作了多少秒。

======================================================

mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name???? | Value |
+-------------------+-------+
| Threads_cached??? | 58??? |
| Threads_connected | 57??? |?? ###這個數(shù)值指的是打開的連接數(shù)
| Threads_created?? | 3676? |
| Threads_running?? | 4???? |?? ###這個數(shù)值指的是激活的連接數(shù),這個數(shù)值一般遠(yuǎn)低于connected數(shù)值

+-------------------+-------+

?

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

?

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

mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name?? | Value |
+-----------------+-------+
| max_connections | 1000? |
+-----------------+-------+

?

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

[mysqld]

max_connections = 1000

=====================================================

1.show status

?? Threads_connected? 當(dāng)前的連接數(shù)
?? Connections? 試圖連接到(不管是否成功)MySQL服務(wù)器的連接數(shù)。
?? Max_used_connections? 服務(wù)器啟動后已經(jīng)同時使用的連接的最大數(shù)量。


2.set GLOBAL max_connections=連接數(shù);?
?? flush privileges

?

3.修改/etc/my.cnf中的max_connections


4.show processlist?? 顯示當(dāng)前正在執(zhí)行的mysql連接

?

5.mysqladmin -u<user> -p<pwd> -h<host> status

?? 顯示當(dāng)前mysql狀態(tài)

?? Uptime: 13131? Threads: 1? Questions: 22? Slow queries: 0? Opens: 16? Flush tables: 1? Open tables: 1? Queries per second avg: 0.1


轉(zhuǎn)載于:https://blog.51cto.com/29498359/1882678

總結(jié)

以上是生活随笔為你收集整理的如何实时查看mysql当前连接数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。