一、mysql數(shù)據(jù)庫發(fā)現(xiàn)連接數(shù)滿了,應(yīng)該怎么弄
原因
出現(xiàn)這種錯(cuò)誤明顯就mysql_connect之后忘記 mysql_close;當(dāng)大量的connect之后,就會(huì)出現(xiàn)Too many connections的錯(cuò)誤,mysql默認(rèn)的連接為100個(gè),而什么情況下會(huì)出現(xiàn)這種錯(cuò)誤呢?正常mysql_connect之后調(diào)用 mysql_close()關(guān)閉連接。
但在連接錯(cuò)誤時(shí),會(huì)者mysql_real_query()出現(xiàn)錯(cuò)誤退出時(shí),可能忘記mysql_close();
所以在程序return 之前一定要判斷是否close(),最穩(wěn)妥的方法就是在寫任何函數(shù)時(shí)都只有一個(gè)出口!
解決方法
想盡一切辦法不重啟
這種情況一般是進(jìn)不去數(shù)據(jù)庫了,修改配置文件得重啟,對(duì)于線上的數(shù)據(jù)庫風(fēng)險(xiǎn)太大了,進(jìn)入數(shù)據(jù)庫用sql修改,現(xiàn)在是進(jìn)不去了
方法1:
使用gdb工具 不用進(jìn)入數(shù)據(jù)庫,不用重啟數(shù)據(jù)庫 方法如下:
[root@xxx bin]# gdb -p $(cat /data/mydata/xxx.pid) -ex “set max_connections=500” -batch
查看mysql pid位置的方法
在配置文件 my.cnf里查找
用 ps -ef | grep mysql 查找
mysql> show variables like ‘%pid%’;
+—————+———————-+
| Variable_name | Value |
+—————+———————-+
| pid_file | /data/mydata/xxx.pid |
+—————+———————-+
修改完畢后 ,嘗試重新進(jìn)入數(shù)據(jù)庫,并查看鏈接數(shù)
這種方法設(shè)置后,只是暫時(shí)的,數(shù)據(jù)庫重啟后,會(huì)變?yōu)樵瓉淼臄?shù)值,要想永久,設(shè)置完后修改配置文件my.cnf
方法2
前提是還可以進(jìn)入數(shù)據(jù)庫
進(jìn)入數(shù)據(jù)庫
設(shè)置新的最大連接數(shù)為200:mysql> set GLOBAL max_connections=200
顯示當(dāng)前運(yùn)行的Query:mysql> show processlist
顯示當(dāng)前狀態(tài):mysql> show status
退出客戶端:mysql> exit
這種方法設(shè)置后,只是暫時(shí)的,數(shù)據(jù)庫重啟后,會(huì)變?yōu)樵瓉淼臄?shù)值,要想永久,設(shè)置完后修改配置文件my.cnf
方法3:
需要重啟數(shù)據(jù)庫
修改 my.conf
max_connection = 1000;
延伸閱讀:
二、BI是什么
BI即商業(yè)智能,泛指用于業(yè)務(wù)分析的技術(shù)和工具,通過獲取、處理原始數(shù)據(jù),將其轉(zhuǎn)化為有價(jià)值的信息指導(dǎo)商業(yè)行動(dòng)。Gartner把BI定義為一個(gè)概括性的術(shù)語(umbrella term),其中包括應(yīng)用程序、基礎(chǔ)設(shè)施和工具,通過獲取數(shù)據(jù)、分析信息以改進(jìn)并優(yōu)化決策和績(jī)效,形成一套優(yōu)異的商業(yè)實(shí)踐。