1. 即使在创建Mysql时url中加入了autoReconnect=true参数,一但这个连接两次访问数据库的时间超出了服务器端wait_timeout的时间限制,还是会CommunicationsException: The last packet successfully received from the server was xxx milliseconds ago.
2. 服务器端的参数可以用
show global variables like 'wait_timeout';
set global wait_timeout=10;
来进行设置,但是wait_timeout值不应该设的太高.
3. 较好的策略是对处于idle状态的connection定时发送一个sql,来刷新服务器上的时间戳.这可以使用c3p0r的连接池.http://bzhang.iteye.com/blog/321832
4. 对于tomcat的server.xml中使用的连接池,
http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html,
http://commons.apache.org/dbcp/configuration.html使用DBCP的连接池可以采用
<Resource name="jdbc/test" auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"
username="root" password="test" maxActive="500" maxIdle="10"
maxWait="-1" timeBetweenEvictionRunsMillis="10000" minEvictableIdleTimeMillis="10000" />
4.1 设置validationQuery,这样每次borrow(默认为开启)时会通过这个sql校验连接的有效性,但是增加了时间.
4.2 设置timeBetweenEvictionRunsMillis="10000" minEvictableIdleTimeMillis="10000" 依赖evictor thread线程来把超时的连接关闭.
4.3 设置testWhileIdle="true" timeBetweenEvictionRunsMillis="10000" validationQuery="select 1" 使得定时去用query检测处于idle状态的连接,也就刷新了服务器端的时间.
5.每次提交的最大packet大小
show global variables like 'max_allowed_packet';
set global max_allowed_packet=1024*1024;
6. SQLyog 中连接参数的设置
6.1 在SQLyog中的设置 set autocommit=0,这样当前连接的自动提交为false,可以控制事务了.
6.2 begin; 事务开始
6.3 select * from test where 1=1 and id =1 for update;这样就把选到的记录行锁上了,再开一个SQLyog,也执行以上相同的操作,就会一直wait在那里.
6.4 commit; 提交
6.5 rollback; 回滚
6.6 set autocommit=0;后应该加上
set transaction isolation level read committed;
这样其它客户端就能看到commit的数据,
疑问:
如果不设置set transaction isolation level read committed;如果两个客户端都select 相同的数据,一个客户端修改然后提交,另一个客户端不提交当前事务的前提下,去执行select ,取不到另一客户端提交的数据,不知道SQLyog默认的事务级别是什么样的.
7. SQLyog中查看mysql的状态,show global variables like '%lock%'; 是个好方法.对于事务锁(例如for update)报Lock wait timeout exceeded ,只能通过修改my.ini文件innodb_lock_wait_timeout = 100;才能生效.
8. linux下修改用户密码 mysqladmin -u root password "new_pass"
分享到:
相关推荐
为了设置自动重连策略,我们需要在`Proxool`的配置中指定一些参数。例如,我们可以设置`hibernate.proxool.max_retries`表示连接失败后尝试重连的最大次数,`hibernate.proxool.retry_interval`表示两次重连尝试之间...
serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false username: root password: 123456 默认用户名和密码为 root / 123456 默认数据库名为:...
useUnicode=true&characterEncoding=GB2312&autoReconnect=true jdbc.username.mysql=root jdbc.password.mysql=root 3、 Web容器:tomcat6.x 4、 页面访问路径: 论坛首页: http://localhost:8080/bbs 后台管理...
这篇博文将详细解释MySQL JDBC URL的各个参数及其用途。 首先,JDBC URL的基本格式如下: ```text jdbc:mysql://[hostname]:[port]/[database]?[parameters] ``` - `jdbc:mysql://` 是固定的协议前缀,表示使用...
基于springboot的一个IT人才招聘...serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false username: root password: 123456 默认用户名和密码为 root /
maxWait="10000" username="(此处填你的数据库用户名)" password="(此处填你的数据库密码)" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/ccs?autoReconnect=true" /> ...
在安装 MySQL 之前,需要下载 MySQL 5.6.5+2.1 导入初始化脚本,找到 conf/nacos-mysql.sql,然后将其导入到数据库中。节点端口为 127.0.0.1:8848、127.0.0.1:8849、127.0.0.1:8850。 三、配置数据库连接 找到 ...
autoReconnect=true&characterEncoging=utf8&zeroDateTimeBehavior=convertToNull 3. 完整的配置参数参考intouch2.war!\WEB-INF\config\config.xml 4. 配置文件config.xml中的mail.upflow.com换成实际的...
一.开发环境 IDEA + JDK8 + MySQL5.7 + navicate 二.技术栈 Springboot+Mybatis+layui 三....数据库地址url修改为 spring.datasource.url=jdbc:mysql://localhost:3306/score?...autoReconnect=true&use
user=root&password=123456&useUnicode=true&characterEncoding=utf8&autoReconnect=true"; String sql = "select * from user where id=" + id; ModelAndView mav = new ModelAndView("test2"); try{ Class....
修改mysql 8.0版本使用 server.servlet.context...characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8 db.user=root db.password=123456
3. **使用`autoReconnect=true`属性**:如果你的应用使用的是MySQL的JDBC驱动,可以在连接字符串中添加`autoReconnect=true`属性。这将使驱动在检测到连接断开后尝试重新建立连接。然而,这种方法并非总是可靠,因为...
autoReconnect=true`,其中`localhost`是服务器地址,`3306`是MySQL的默认端口,`bbs`是数据库名,`autoReconnect=true`确保在连接断开后能自动重连。 3. `username`和`password`:数据库的用户名和密码,这里设置为...
autoReconnect=true <property name="user">root <property name="password">password <property name="initialPoolSize">10 <property name="minPoolSize">10 <property name="maxPoolSize">20 ...
同时,为了确保Nacos能够识别并加载MySQL插件,还需要在启动参数中加入相应的配置,如`-Dnacos.plugin.jdbc.mysql.enabled=true`。 总结起来,"nacos插件-mysql-connector-java-8.0.19.zip"提供的MySQL Connector/J...
true&characterEncoding\=UTF-8&autoReconnect\=true 4、重启Tomcat。 后台路径:http://域名/admin 后台用户名:admin 密码:admin 后台功能:系统设置、管理员列表、文章栏目、文章管理、产品管理、留言管理
autoReconnect=true&useUnicode=true&characterEncoding=UTF8" validationQuery="Select 1" maxActive="20" /> ``` 五、修改entityengine.xml文件 修改jira安装目录下的WEB-INF/classes/entityengine.xml...
在使用数据库连接池时,如C3P0、HikariCP或Apache DBCP等,建议添加特定参数以优化性能和处理断开连接的场景,例如MySQL中的`autoReconnect=true`和`failOverReadOnly=false`。 在构建连接字符串时,应确保指定正确...