mysql 连接超时错误 自己的小网站在测试机器上长时间不访问后(默认8小时过期),再次访问发现有如下错误: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received fro m the server was 63,020,509 m
mysql 连接超时错误自己的小网站在测试机器上长时间不访问后(默认8小时过期),再次访问发现有如下错误:
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received fro
m the server was 63,020,509 milliseconds ago. ?The last packet sent successfully to the server was 63,020,509
?milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either e
xpiring and/or testing connection validity before use in your application, increasing the server configured v
alues for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this pr
oblem.
? ? ? ? at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
? ? ? ? at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
? ? ? ? at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:4
5)
? ? ? ? at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
? ? ? ? at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
? ? ? ? at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
? ? ? ? at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3851)
? ? ? ? at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2471)
? ? ? ? at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
? ? ? ? at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2683)
? ? ? ? at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2144)
? ? ? ? at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
? ? ? ? at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
? ? ? ? at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
?
Fix:?If only the connection pool could check if the the connection it is about to return is live or not, the porblem is fixed. This can be done in apache-common-dbcp (I know this one coz I used it, please look into documentation of the connection-pool you are using). Here’s how you do it: You add the following properties to dbcp configuration.
- validationQuery=”SELECT 1″
- testOnBorrow=”true”
And that does the trick.
?
暂时我对我的mysql连接加上: 试试效果
validationQuery
=
"SELECT 1"
?
testOnBorrow
=
"true"
?
目前我不想添加: ?autoReconnect=true? 因为我对此的理解不深,mysql文档这样写的:
?
This parameter is?false
?by default. This forces disconnected API nodes (including MySQL Servers acting as SQL nodes) to use a new connection to the cluster rather than attempting to re-use an existing one, as re-use of connections can cause problems when using dynamically-allocated node IDs. (Bug #45921)
如果有问题再添加 autoReconnect选项
like this:
?
? ? ? ? ? ? ? ?initialSize="10" maxActive="100" maxIdle="30" maxWait="10000"
? ? ? ? ? ? ? ?username="***" password="***" driverClassName="com.mysql.jdbc.Driver"
? ? ? ? ? ? ? ?url="jdbc:mysql://localhost:3306/saasNetTest"
? ? ? ? ? ? ? ?validationQuery="SELECT 1"
? ? ? ? ? ? ? ?testOnBorrow="true"
?
? ? />
?
参考文档:http://stackoverflow.com/questions/9674165/mysql-jdbc-timeout-even-with-autoreconnect-true
http://amitcodes.com/2008/07/26/16/
http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency
?

mysqlblobshavelimits:tinyblob(255bytes),blob(65,535 bytes),中間佈洛布(16,777,215個比例),andlongblob(4,294,967,967,295 bytes).tousebl觀察:1)考慮pperformance impactsandSandStorLageBlobSextern; 2)管理backbackupsandreplication carecration; 3)usepathsinst

自動化在MySQL中創建用戶的最佳工具和技術包括:1.MySQLWorkbench,適用於小型到中型環境,易於使用但資源消耗大;2.Ansible,適用於多服務器環境,簡單但學習曲線陡峭;3.自定義Python腳本,靈活但需確保腳本安全性;4.Puppet和Chef,適用於大規模環境,複雜但可擴展。選擇時需考慮規模、學習曲線和集成需求。

是的,YouCansearchInIdeAblobInMysqlusingsPecificteChniques.1)轉換theblobtoautf-8StringWithConvertFunctionWithConvertFunctionandSearchUsiseLike.2)forCompresseBlysBlobs,useuncompresseblobs,useuncompressbeforeconversion.3)expperformance impperformance imptactSandDataEcoding.4)

mysqloffersvariousStringDatatYpes:1)charforfixed Lengtth Strings,IdealforConsistLengthDatalikeCountryCodes; 2)varcharforvariable長度長,合適的forfieldslikenames; 3)texttypefesforepesforlargertext,forforlargertext,goodforforblogblogpostsbutcan impactcuctcuctcuctpercrance; 4)biland;

tomasterMysqlblobs,關注台詞:1)ChooseTheApprProbType(tinyBlob,blob,blob,Mediumblob,longblob)基於dongatasize.2)InsertDatausingload_fileforefice.3)

blobdatatypesinmysqlareusedforvorvoringlargebinarydatalikeimagesoraudio.1)useblobtypes(tinyblobtolonglongblob)基於dondatasizeneeds。 2)庫孔素pet petooptimize績效。 3)考慮Xternal Storage Forel Blob romana databasesizerIndimprovebackupe

toadDuserStomySqlfromtheCommandline,loginasroot,thenusecreateuser'username'@'host'host'Indessifiedby'password'; tocreateanewuser.grantpermissionswithgrantprantallprivilegesondatabase

mySqlofferSeightStringDatateTypes:char,varchar,二進制,二進制,varbinary,blob,文本,枚舉,枚舉和set.1)長度,理想的forconsistentDatatalIkeCountryCodes.2)varcharisvariable長度,長度,效率foriforitifforiticforiticforiticforiticforiticforitic forvaryingdatalikename.3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3漢化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器