In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-26 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)06/01 Report--
Next, let's learn about the error handling scheme when mysql can not connect to the database when performing a large number of operations. I believe you will benefit a lot after reading it. The text is not much in essence. I hope that mysql will not be able to connect to the database when performing a large number of operations. This short article is what you want.
Problem: when mysql performs a large number of insertion operations, it reports an error that it cannot connect to the database. The details of the error are as follows:
Fatal error: Uncaught exception 'PDOException' with message' SQLSTATE [HY000] [2003] Can't connect to MySQL server on' 127.0.0.1'(99)'in / mnt/Change/www/html/data/conn.php:5 Stack trace: # 0 / mnt/Change/www/html/data/conn.php (5): PDO- > _ construct ('mysql:host=127....',' aaa' 'aaa') # 1 / mnt/Change/www/html/data/conn.php (12): conn () # 2 / mnt/Change/www/html/test/ZB/addHDG.php (22): Sql_Query (' select LoopData...') # 3 {main} thrown in / mnt/Change/www/html/data/conn.php on line 5
Operating environment: linux+Apache+php+mysql
Reason: when performing operations on MySQL, you need to connect to the database, the connection needs to occupy the port, and a large number of queries run out of ports, so the database cannot be connected.
Check the reason:
When performing a large number of mysql connections, execute in linux
Netstat-nt
You will see a large number of connections when the TIME_OUT status
Solution.
Step 1: optimize mysql and close the mysql connection as soon as you get the data
(1) pdo only needs to set the connection to null.
$pdo=new PDO ("mysql:host=127.0.0.1;dbname=aaa", "aaa", "aaa"); / / execute the following statement after getting the data to $pdo=null
Step 2: optimize the linux system
(1) write the following statement in / etc/sysctl.cnf
Net.ipv4.tcp_fin_timeout = 2net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1
Explanation:
Net.ipv4.tcp_tw_recycle=1 means to enable fast TIME-WAIT sockets recycling, that is, to quickly recycle connections that are in TIME-WAIT. The default value is 0, that is, off.
Net.ipv4.tcp_fin_timeout: sets the connection timeout (in seconds). Default is 60 seconds.
Net.ipv4.tcp_tw_reuse = 1: allow socket in TIME-WAIT state to be reapplied for new TCP connections. The default value is 0, that is, closed state.
(2) execute in linux
Sysctl-p
Make the above configuration effective
After reading this article about how to deal with the failure to connect to the database when mysql performs a large number of operations, many readers will want to know more about it. For more industry information, you can follow our industry information section.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.