mysql 事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法

原因分析问题出现环境:在同一事务内先后对同一条数据进行插入和更新操作;多台服务器操作同一数据库;瞬时出现高并发现象;在高并发的情况下,Spring 事物造成数据库死锁,后续操作超时抛出异常。 Mysql 数据库采用 InnoDB 模式,默认参数:innodb_lock_wait_timeout 设置锁等待的时间是 50s ,一旦数据库锁超过这个时间就会报错。解决方案1、通过下面语句查找到为提交事务

- 阅读全文 -

锁表解锁——开发过程中数据库某些表访问不了

MySQL锁概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用

- 阅读全文 -

navicat 远程连接 mysql 服务器报错 - 错误码:10038

前言对于 MySQL 的 10038 错误,我是从一开始的懵逼到之后越来越熟悉,恰如一句老话 “久病成良医”。经常会遇到这个错误,一开始没有任何解决方案,只能百度。后来慢慢地掌握了解决的技巧。解决方案1. 绑定地址错误查看 3306 端口进程netstat -anp | grep 33060.0.0.0 表示监听本地所有 ip 地址,其他电脑是可以访问的,并且修改 ip 不受影响。 127.0.0

- 阅读全文 -

sql 数据库设计——连续签到奖励

-- 用户签到时 UPDATE 签到表 SET 连续签到天数 = CASE 最近签到日期 WHEN Today THEN 连续签到天数 WHEN Today - 1 THEN (连续签到天数 + 1) MOD 8 ELSE 1 END, 最近签到日期 = Today WHERE 用户ID = 用户ID; -- 查询用户连续签到天数 SELECT C

- 阅读全文 -

初识微信小程序开发

公司要在年底前做几个微信小程序,想捞一笔过年费,但之前没有人做过微信小程序开发,所以就由我和另外一个前端的进行排雷工作。微信小程序听说是在两年前了,当时h5开发很火热,很多喜帖,问卷,邀请函之类的电子档都通过h5的形式展现,模板也很丰富,小程序印象中就是个小网站,没什么大作用,感觉是微信骗钱用的。今年莫名的小程序开发的呼声很高,没办法,有需求,开发就得跟进。微信公众号和小程序都是在微信公众平台申请

- 阅读全文 -

宅男相亲记·续

悄悄地,我来了,正如我悄悄地走。没有人注意到我的到来,也没有人注意到我的离去,一切都是那么的悄无声息!是在代码的海洋里漂流,还是在社会的规则下馋喘?弯下的腰还能不能再直起来,失去话语权的我还能不能站起来?一直以来都是觉得现实太冷酷,太无情,所以不喜欢跟人打交道。最爱莫过看些欢快的剧放轻松,看些悲伤的剧留些眼泪,在虚拟浩瀚的电影电视中,虚度时光。懦弱的自己,总是在找着一个又一个的理由,说服自己,那不

- 阅读全文 -

宅男相亲记

是的,博主,宅男一枚,没有恋爱的机会,就这样赶鸭子上架地相亲了!恋爱这种东西,电视里看了不知有多少了。有单恋的,有早恋的,也有绝恋的,形形色色的人扮演了一个又一个典型的爱情角色。但这样的爱情不常见,也没有什么参考价值,只是在心里留下点东西,让人回味罢了。而生活里的爱情就有点不同了。没有巧合,没有粉饰,从青葱少年的懵懂,到青春期的悸动,虽然很像零几年未拆迁时的墙壁一样粗糙,但对于经历过的人来说,确实

- 阅读全文 -

项目工作流程

1.需求分析了解项目所有细节点,整理归纳出需求分析文档2.功能分析根据需求分析文档,划分项目较大的功能模块,以及其他细节点3.设计ER图根据功能分析结果,设计项目ER图,进一步确认各实体之间的关系4.设计数据库可以保留之前的后台权限分配相关表,系统常量,系统基础类表5.添加基础模块代码基础实体表的增删改查操作6.

- 阅读全文 -

mysql 数据库设计技巧

在商城类项目中,一个商品可能会有多种规格,商品的不同规格组合有着不同的库存,所以可以这样设计:good(商品表),存放各种表属性(名称,类别,分类,图片,详情,原价,现价,单件快递费。。),+has_spec(是否有规格),specs(有规格时,规格组合及库存),+stock(无规格库存)订单关联的表中,商品信息、用户信息等应该做冗余字段,因为商品和用户信息是变量,是可以随时修改的,外键还是要的,

- 阅读全文 -

php 库方法

1.str_pad() 函数把字符串填充为新的长度。str_pad(string,length,pad_string,pad_type)pad_type : STR_PAD_BOTH,STR_PAD_LEFT,STR_PAD_RIGHT2.array_filter(5.6以上支持第三个参数),array_map array_filter删除 array 中所有等值为 FALSE 的条目array_

- 阅读全文 -