网站备案系统,制作会员手机网站,电商网站建设规划开发方案,wordpress 分页制作最近在部署代码后#xff0c;后端总是会遇到这个问题#xff0c;设备通道在访问数据库时经常会报错#xff0c;在搜集大量资料后我以为是配置问题#xff0c;首先要保证#xff1a; #xff08;1#xff09;首先确定jdbc.url地址是正确的 #xff08;2#xf… 最近在部署代码后后端总是会遇到这个问题设备通道在访问数据库时经常会报错在搜集大量资料后我以为是配置问题首先要保证 1首先确定jdbc.url地址是正确的 2修改wait_timeout和interactive_timeout 3修改mysql驱动版本将版本提升所以建议如果修改timeout不成功的话一定要将驱动版本升级一下再试试 我这里服务器的版本是mysql5.7.41JDBC-connect是用的8.0.11故没有上述问题。 所以我以为是第二个问题因为我这边总是显示收到数据距上一次收到 一直是120s 左右的时间。 但是在云服务器上更改mysql的配置文件后根据mysql命令进入命令行还是查询不到更改的timeout值一直是300. 直到后来我一直看每次的Exception都是间隔120s左右 我将请求更改到100s就不会出现问题 所以我又在 后端代码 使用代码访问数据库发现这里的timeout一个是120一个是300 终于破案了 还是mysql 的 timeout变量的问题。 如果查询时使用的是show variables的话, 会发现设置并没有生效, 除非重新登录再查看. 这是因为使用show variables的话就等同于使用show session variables, 查询的是会话变量, 只有使用show global variables查询的才是全局变量. 如果仅仅想修改会话变量的话, 可以使用 类似set wait_timeout10;或者set session wait_timeout10;这样的语法. 附上一些修改的命令 [rootYousunIOTServer ~]# which mysql /usr/bin/mysql
[rootYousunIOTServer ~]# mysql --verbose --help|grep -A 1 Default options
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf [rootYousunIOTServer ~]# rm -f /user/bin/.my.cnf.swp rm -f /etc/.my.cnf.swp 把my.cnf配置文件加个max_connections包括插入命令删除命令修改命令。退出保存命令 你要有这个文件写权限shell下输入
vi /etc/my.cnf
进入vi后按i 移动上下左右键到你想插入的位置然后打字。这时跟记事本是一样的。
打完字后按ESC 然后输入 :wq 就保存退出了。 启动数据库服务systemctl start mysqld.service 重启数据库服务service mysqld restart 查看数据库运行状态service mysqld status 查看最大连接数show variables like %max_connections%; 查看最大使用连接show global status like Max_used_connections; 部分参考
了解超时 - JDBC Driver for SQL Server | Microsoft Learn
https://www.cnblogs.com/devcjq/articles/6409470.html 一篇文章彻底理解数据库的各种 JDBC 超时参数 - 知乎