1. 程式人生 > >關於TP5報錯“too many connections”問題

關於TP5報錯“too many connections”問題

從字面上的意思就能看得出,是連線次數太多了....
目前我只發現有這幾個原因可能導致這個問題出現,並提供解決方案:
**1.**只針對TP5框架,具體那個版本之前不太清楚,在TP5中有個助手函式 db()。進入函式檢視原始碼->
if (!function_exists('db')) {
    /**
     * 例項化資料庫類
     * @param string        $name 操作的資料表名稱(不含字首)
     * @param array|string  $config 資料庫配置引數
     * @param bool          $force 是否強制重新連線
     * @return
\think\db\Query */
function db($name = '', $config = [], $force = false) { return Db::connect($config, $force)->name($name); } }

在註釋裡第三個引數是否強制重新連線,這個應該預設是false,否則每次用db都會去重新連結一次,如果查詢次數過多,就會報錯:too many connections!
2.在mysql中有個配置,max_connections,這個是最大連線數配置,預設是100,一般我們會設定成500,500-1000都可以,如果提高了依然報這個錯,那就得找其他原因了。
3.

這個問題是比較二的,一般只有新手會出現吧,“迴圈裡再查詢”,捂臉流淚,我剛入行那會犯過,因為一心只想把東西做出來,不擇手段,查詢裡再查詢,導致連結次數過多,其實也是因為原因1的存在,我不知道是TP5原來版本預設就是true還是我的前任改的,db()裡預設就是true…
以上只是比較常見淺顯可能出現的問題,更加深奧的關於伺服器,程序方面的,我看到其他大佬們部落格有說過,暫時沒有遇到過。我這裡說的,歸根結底,還是程式碼方面的問題比較大,如果新手出現這個問題,可以仔細檢查這方面的原因:是否查詢次數太多,框架中的連結方式是否強制重連等等;
第一次寫,我個人也不過是個菜逼,依然在學習中,有不足和錯誤的地方,也希望大佬們能指出來,謝謝!

相關推薦

關於TP5too many connections”問題

從字面上的意思就能看得出,是連線次數太多了.... 目前我只發現有這幾個原因可能導致這個問題出現,並提供解決方案: **1.**只針對TP5框架,具體那個版本之前不太清楚,在TP5中有個助手函式 db(

每隔幾秒查詢資料庫,操作頻繁,導致控制檯too many connection,解決方案連線池

原因:傳統的增刪改查已經滿足不了對資料庫的頻繁操作了; 解決方案:資料庫連線池-DBCP連線池 資料庫連線池-DBCP連線池 所需的jar包:  配置檔案: dbcpconfig.properties 這個檔案需要放在src的根目錄下面,和其他的包是同一個級別

objc_msgSend()Too many arguments to function call ,expected 0,have3

Build Setting--> Apple LLVM 6.0 - Preprocessing--> Enable Strict Checking of objc_msgSend Call

遇到問題----mongodb-----mongorestoretoo many open files甚至mongo服務崩潰

之前執行mongorestore還原mongodb資料庫一直都沒問題,今天還原的時候 報錯too many open files。而且mongo服務經常崩潰需要重啟。問題有兩方面:原因一一個原因是lin

mysql數據庫Too many connections排查

小強測試品牌 報錯 排查 func 學習 conn 關閉 點贊 導致 轉發+點贊=支持 百度搜索:小強測試品牌 交流群:522720170 現象 log日誌裏頻繁出現ERROR: Too many connections這樣的報錯。 分析 看到這樣的報錯我們大概也知

mysql 無法啟動,too many connections,實際情況是磁碟滿了,mysql無法啟動造成的

今天以前負責的一個網站,突然無法啟動,因為是thinkphp寫的,開啟網站直接報錯出現too many connections, 網上查了一下,說是連線數少了,還有說可能是ddos攻擊了。但是然後使用mysql -u user -p password 這樣使連不上mysql資

MysqlToo many connections,不要亂用ulimit了,看看如何正確修改程序的最大檔案數

#背景 今天在學習mysql時,看到一個案例,大體來說,就是客戶端報`Too many connections`。但是,客戶端的連線池,限制為了200,兩個客戶端java程序,那也才400,然後mysql配置了800的連線。 mysql是在`my.cnf`中配置了: ```shell [root@loc

Data source rejected establishment of connection, message from server: "Too many connections"

重新 並發 登錄用戶 -c https 但是 ces 部署 ins 詳細錯誤信息: Caused by: com.MySQL.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source re

Data source rejected establishment of connection, message from server: "Too many connections"

logs ucc access register nds code mysq acc ora 1 com.mchange.v2.resourcepool.BasicResourcePool(line/:1841) - 2 [email protec

mysql連接報too many connections以及打開mysql.exe出現閃退的問題

最大 ble 所在 啟動mysql log 設置 alt png 連接 1.打開cmd,進入mysql盤,進入mysql所在文件夾,進入bin文件夾 2.輸入net start mysql啟動MySQL服務 3.輸入 show variables like ‘%max_c

Go連接MySql數據庫Error 1040: Too many connections錯誤解決

next cal err 情況 為什麽 語句 就是 sel com 原文:https://my.oschina.net/waknow/blog/205654 摘要: 使用Go鏈接數據庫時,由於連接釋放不當會在一段時間以後產生too many connections的錯

MySQL提示too many connections的一次解決過程

端口 存在 機器 很多 個數 https cat use skip 在一次故障過程中,登錄mysql時候提示too many connections,重啟數據庫後,很快再次提示,show processlist查看等待進程,發現很多類似:mysql>show proc

Too many connections”引起MySQL崩潰並啟動失敗

using socket tail lob loaded emd 登錄 報錯 conf 問題描述: 在部署一套新環境的時候,rancher-server上有14個鏡像包一起升級,主要是微服務的寫入和查詢程序,基本上都是需要去連接MySQL的程序。可能是由於大並發連接數據庫,

tp5筆記(2):file_put_contents():無法開啟流:許可權被拒

tp5寫的網站在本地視窗環境下都執行的好好的,一放到阿里雲的伺服器的linux環境下全是問題 第一碰到的就是file_put_contents(); 第一次碰到這個問題,一頭霧水,最後網上查詢解決辦法,都是讓改變目錄的許可權,我用的是FTP客戶端上傳檔案的,所以很容易改許可權,檢視報錯的資料

tp5筆記(1)

碰到錯誤的時候沒有記錄,都是後面看日誌的時候回想的,如果有描述錯誤的請指出來,我改正.謝謝!   error: Provisional headers are shown 錯誤原因:ajax上傳表單檔案是沒有關掉預設的表單請求, 解決方法:ajax請求後加return fa

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections

專案2分鐘更新一次井下人員狀況(查詢資料庫人員) 大概10分鐘以後就會出現異常! 之前因為這些內容是顯示在LED大屏上的,後來上去檢視大屏顯示異常,一位是區域網掉線的原因; 今天才發現是程式不夠完善 但是我明明關閉連線了啊,怎麼還是too many connections???

too many connections 解決辦法

1、首先需要關閉mysql 重啟mysql  service mysql start 2、mysql -uroot -p 輸入密碼 進入maysllq 3、show global variables like 'wait_timeout'; set global wait_timeout=60

mysql too many connections解決方法 MySQL提示“too many connections”的解決辦法

MySQL提示“too many connections”的解決辦法   今天生產伺服器上的MySQL出現了一個不算太陌生的錯誤“Too many connections”。平常碰到這個問題,我基本上是修改/etc/my.cnf的max_connections引數,然後重啟資

JavaWeb問題集錦: 解決Mysql資料庫訪問出現“Too many connections”問題

工作中程式碼中訪問資料庫連線的時候,程式碼執行中出現了"Too many connections" 的錯誤: MySQL "Too many connections" com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionE

mysql sleep連線過多 too many connections

1、當出現這個問題的時候,首先得殺掉sleep的連線,(不推薦修改配置檔案的方式解決:太生硬,還得重啟服務),不然還操作不了 如果真的要配置檔案也行 # vi /etc/my.cnf  [mysqld] wait_timeout=10 0 # /etc/init.d/mysql rest