MySQL连接方式:长连接或者短连接
MySQL 既支持短連接,也支持長連接。短連接就是操作完畢以后,馬上close 掉。長連接可以保持打開,減少服務(wù)端創(chuàng)建和釋放連接的消耗,后面的程序訪問的時候還可以使用這個連接。一般我們會在連接池中使用長連接。
保持長連接會消耗內(nèi)存。長時間不活動的連接,MySQL 服務(wù)器會斷開。
show global variables like 'wait_timeout'; -- 非交互式超時時間,如JDBC 程序 show global variables like 'interactive_timeout'; -- 交互式超時時間,如數(shù)據(jù)庫工具默認(rèn)都是28800 秒,8 小時。
我們怎么查看MySQL 當(dāng)前有多少個連接?
可以用show status 命令:
show global status like 'Thread%';Threads_cached:緩存中的線程連接數(shù)。
Threads_connected:當(dāng)前打開的連接數(shù)。
Threads_created:為處理連接創(chuàng)建的線程數(shù)。
Threads_running:非睡眠狀態(tài)的連接數(shù),通常指并發(fā)連接數(shù)。
每產(chǎn)生一個連接或者一個會話,在服務(wù)端就會創(chuàng)建一個線程來處理。反過來,如果要殺死會話,就是Kill 線程。
有了連接數(shù),怎么知道當(dāng)前連接的狀態(tài)?
也可以使用SHOW PROCESSLIST; (root 用戶)查看SQL 的執(zhí)行狀態(tài)。
https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html
一些常見的狀態(tài):
https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html
MySQL 服務(wù)允許的最大連接數(shù)是多少呢?
在5.7 版本中默認(rèn)是151 個,最大可以設(shè)置成16384(2^14)。
show variables like 'max_connections';show 的參數(shù)說明:
1、級別:會話session 級別(默認(rèn));全局global 級別
2、動態(tài)修改:set,重啟后失效;永久生效,修改配置文件/etc/my.cnf
set global max_connections = 1000;?
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的MySQL连接方式:长连接或者短连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL通信类型:同步或者异步
- 下一篇: MySQL通信方式