2022-06-24 19:17:57 pid:28957 Worker[28957] process terminated with ERROR: E_ERROR "Uncaught PDOException: SQLSTATE[08004] [1040] Too many connections in /root/webman/vendor/illuminate/database/Connectors/Connector.php:70
php8.1
2022-06-24 19:34:16 pid:38372 Workerman[start.php] start in DEBUG mode
2022-06-24 19:35:12 pid:38869 Worker[38869] process terminated with ERROR: E_ERROR "Uncaught PDOException: SQLSTATE[08004] [1040] Too many connections in /root/webman/vendor/illuminate/database/Connectors/Connector.php:70
Stack trace:
#0 /root/webman/vendor/illuminate/database/Connectors/Connector.php(70): PDO->__construct()
#1 /root/webman/vendor/illuminate/database/Connectors/Connector.php(46): Illuminate\Database\Connectors\Connector->createPdoConnection()
#2 /root/webman/vendor/illuminate/database/Connectors/MySqlConnector.php(24): Illuminate\Database\Connectors\Connector->createConnection()
#3 /root/webman/vendor/illuminate/database/Connectors/ConnectionFactory.php(184): Illuminate\Database\Connectors\MySqlConnector->connect()
#4 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}()
#5 /root/webman/vendor/illuminate/database/Connection.php(1168): call_user_func()
#6 /root/webman/vendor/illuminate/database/Connection.php(1204): Illuminate\Database\Connection->getPdo()
#7 /root/webman/vendor/illuminate/database/Connection.php(485): Illuminate\Database\Connection->getReadPdo()
#8 /root/webman/vendor/illuminate/database/Connection.php(413): Illuminate\Database\Connection->getPdoForSelect()
#9 /root/webman/vendor/illuminate/database/Connection.php(752): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#10 /root/webman/vendor/illuminate/database/Connection.php(719): Illuminate\Database\Connection->runQueryCallback()
#11 /root/webman/vendor/illuminate/database/Connection.php(421): Illuminate\Database\Connection->run()
#12 /root/webman/vendor/workerman/webman-framework/src/support/bootstrap/LaravelDb.php(79): Illuminate\Database\Connection->select()
#13 /root/webman/vendor/workerman/workerman/Events/Select.php(233): support\bootstrap\LaravelDb::support\bootstrap\{closure}()
#14 /root/webman/vendor/workerman/workerman/Events/Select.php(283): Workerman\Events\Select->tick()
#15 /root/webman/vendor/workerman/workerman/Worker.php(2437): Workerman\Events\Select->loop()
#16 /root/webman/vendor/workerman/workerman/Worker.php(1557): Workerman\Worker->run()
#17 /root/webman/vendor/workerman/workerman/Worker.php(1399): Workerman\Worker::forkOneWorkerForLinux()
#18 /root/webman/vendor/workerman/workerman/Worker.php(1373): Workerman\Worker::forkWorkersForLinux()
#19 /root/webman/vendor/workerman/workerman/Worker.php(550): Workerman\Worker::forkWorkers()
#20 /root/webman/start.php(112): Workerman\Worker::runAll()
#21 {main}
Next Illuminate\Database\QueryException: SQLSTATE[08004] [1040] Too many connections (SQL: select 1) in /root/webman/vendor/illuminate/database/Connection.php:759
Stack trace:
#0 /root/webman/vendor/illuminate/database/Connection.php(719): Illuminate\Database\Connection->runQueryCallback()
#1 /root/webman/vendor/illuminate/database/Connection.php(421): Illuminate\Database\Connection->run()
#2 /root/webman/vendor/workerman/webman-framework/src/support/bootstrap/LaravelDb.php(79): Illuminate\Database\Connection->select()
#3 /root/webman/vendor/workerman/workerman/Events/Select.php(233): support\bootstrap\LaravelDb::support\bootstrap\{closure}()
#4 /root/webman/vendor/workerman/workerman/Events/Select.php(283): Workerman\Events\Select->tick()
#5 /root/webman/vendor/workerman/workerman/Worker.php(2437): Workerman\Events\Select->loop()
#6 /root/webman/vendor/workerman/workerman/Worker.php(1557): Workerman\Worker->run()
#7 /root/webman/vendor/workerman/workerman/Worker.php(1399): Workerman\Worker::forkOneWorkerForLinux()
#8 /root/webman/vendor/workerman/workerman/Worker.php(1373): Workerman\Worker::forkWorkersForLinux()
#9 /root/webman/vendor/workerman/workerman/Worker.php(550): Workerman\Worker::forkWorkers()
#10 /root/webman/start.php(112): Workerman\Worker::runAll()
#11 {main}
thrown in /root/webman/vendor/illuminate/database/Connection.php on line 759"
webman 啟動后每個每個進程會主動連數(shù)據(jù)庫,比如你啟動100個進程,就會預(yù)先建立100個連接。要么你進程開太多了,要么數(shù)據(jù)庫連接數(shù)上限太少了
webman + gatewaywork 默認啟動有多少個進程
下面是我啟動時候的提示,數(shù)量查了一下連接上限是151
看下面的啟動時候的提示,我應(yīng)該設(shè)置多少
1、查看GatewayWorker 數(shù)據(jù)庫連接數(shù)量 + webman 進程數(shù)量(連接數(shù)) = 總共使用數(shù)據(jù)庫連接數(shù)
2、查看mysql 服務(wù)器默認配置是多少連接數(shù),你自己改一下配置文件。