-
504 time out | MySql 数据库占用率高问题排查
昨晚连夜上线了榜单功能,上线后简单测试了下,感觉没啥问题就休息了。没想到一早上醒来,就看到好几个朋友给发消息问为啥社区访问不了了。还好今早比往常早醒了半个小时,抓紧时间排查。输入社区网址,访问一直处于等待状态,许久之后返回504timeout错误提示。第一反应是:ddos?ssh登录服务器,正常登入。排除ddos。终端输入top,查看资源占用情况,发现java程序和mysql的CPU占用都很高,尤16,739 0 2021-06-02 15:19
-
锁表状态查询:com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
程序忽然提示异常:com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:Lockwaittimeoutexceeded;tryrestartingtransaction字面意思上看,大致是数据库表被锁定了,建议重启事务。查了下公司wiki,可以有如下操作建议:查询是否锁表showOPENTABLESwhereIn_use17,075 0 2021-04-09 16:12
-
SpringBoot 整合 sharding jdbc 做数据库分库分表 DEMO (Sharding-jdbc+mybatis+springboot+druid)
Demo源码已上传到github。https://github.com/geeeeeeeeeeeeeeeek/sharding-demo什么是Sharding?Sharding是开源的分布式数据库中间件解决方案集成套件。由Sharding-jdbc、Sharding-proxy、Sharding-Sidecar三款产品组成。什么时候能用上Sharding?一般系统在经久运行时,数据量都是在逐步增加11,437 0 2020-09-08 16:40
-
基于XML - 简单模仿mongodb实现一个数据库
源码寄存在GitHub仓库,地址为:https://github.com/geeeeeeeeeeeeeeeek/NemoMiniDb-XML这是一个简单模仿mongodb的数据库程序,底层数据存储的是XML文件,而不是JSON。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这3,253 0 2018-01-11 14:08
-
简单模仿mongodb实现一个数据库
源码寄存在GitHub,地址是:https://github.com/geeeeeeeeeeeeeeeek/NemoMiniDb这是一个简单模仿mongodb的数据库程序。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这样了。详细说明待添加,先占个位置,待续...3,484 0 2018-01-10 18:57
-
MySql 数据库导入:Unknown command '\n'
从备份文件恢复数据的时候出现这么一个情况。sourceF:\cynthia.sql提示:Unknowncommand'\n'推测是字符集的原因。备份文件是utf-8字符集,本地数据库则不清楚。查看my.ini发现并没有指定。那么就简单处理下好了:mysql-uroot-p--default-character-set=utf8连接数据库的时候设定下字符编码,重新导入,问题即解决。17,780 0 2018-11-09 16:01
-
Mysql各种索引
举例,业务场景,用户表,表结构为:t_user(uidprimarykey,login_nameunique,passwd,login_time,age,…); 聚集索引(clusteredindex):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primarykey来约束。 举例:t_user场景中,uid上的索引。 非聚集索引(non-cl......17,434 1 2019-04-03 14:08
-
mybatis 数据层通用权限拦截过滤
假设sql:查询当前用户具有权限查看的产品信息,产品根据用户以及用户的机构信息作为权限规则:selects.prod.id,s.prod.prod_namefromsys_prod sprodjoinsys_usersuseronsprod.create_by_id=suser.idwhere suser.org_id=1;查询当前用户具有权限查看的菜单信息,菜单根据用户以及用......2,923 0 2019-03-13 17:10
-
记一次删库跑路
这些天正在考虑做LinkNemo程序迁移的工作,于是乎准备把目前LinkNemo生产的数据库导一份到本地,用来做测试迁移。几个终端同时操作,一时操作失误,然后:dropdatabasecynthiaemmmmmmm...没错,LinkNemo的数据库就这样被删掉了。我误把当前操作的终端机器认为是本地机器。回车的那一瞬间就感觉出事情了。====以上是前因。也是从11月8日下午至11月9日LinkNe......18,633 6 2018-11-09 14:07
-
mysql binlog关闭/清理
mysql的binlog是用来记录所有操作日志,以便在数据丢失或者其它情况下用来完整恢复数据。但是,如果操作量较大,那么binlog的文件也会比较大,一些情况下可能会大量占用磁盘空间。这里提到的是单机的情况下,集群情况下暂不涉及。清理:登录mysql指令界面,输入resetmaster;这时候再到mysql的data目录,即可发现binlog文件都清理完了。关闭:找到mysql的配置文件,my.c......21,292 0 2018-11-09 16:09
-
mysql5.7 ibtmp1文件过大
最近LinkNemo迁移到新的程序,新的环境上,服务不是很稳定,配置还有待调优。上午发现了一个问题:磁盘使用达到100%:$df-h Filesystem Size UsedAvailUse%Mountedonudev 479M 0 479M&......18,790 0 2018-12-03 21:12
-
两阶段提交及JTA 【转载】
本文转发自技术世界,原文链接http://www.jasongj.com/big_data/two_phase_commit/分布式事务与本地事务一样,包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。两阶段提交是保证分布式事务中原子性的重要方法。本文重点介绍了两阶段提交的原理,PostgreSQL中两阶段提交接口,以......4,864 0 2018-02-27 10:11
-
MYSQl 数据库系统用户表加密方式
MySQL4.1版本之前是MySQL323加密,MySQL4.1和之后的版本都是MySQLSHA1加密。MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。(1)以MySQL323方式加密 ......4,491 0 2018-02-09 10:22
-
MySQLNonTransientConnectionException: No operations allowed after connection closed.
新框架的简单demo上线一晚上后,简单数据源出现了这么一个问题:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Nooperationsallowedafterconnectionclosed.atsun.reflect.NativeConstructorAccessorImpl.newInstance0(N......5,304 0 2018-01-26 19:10
-
自己写一个最简单的数据库
所有应用软件之中,数据库可能是最复杂的。Mysql的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。 但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。一、数据以文本形式保存 第一步,就是将所要保存的数据,写入文......5,338 0 2018-01-16 17:09
-
《数据库系统实现》(第二版)pdf资源下载(备份)
4,557 0 2018-01-16 15:35
-
Mysql执行查询的原理【转载】
可以用一张网上找的图片来描述:从图中可以看出基本步骤为:1、客户端发送一条查询给服务器。2、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3、服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4、MySql根据优化器生成的执行计划,调用存储引擎的API执行查询。5、返回结果给客户端。MySQL客户端/服务器通信协议MySQL客户端和服务器之间的通信......1,611 0 2018-01-16 14:56
-
MySQL索引背后的数据结构及算法原理【转载】
最近在研究索引的算法以及数据结构一类的东西。看完这篇文章后,收获颇多。另外推荐下CodingLabs这个博客,在看了这篇文章后,我陆陆续续浏览了上面的一些其他文章,干货不少,而且作者本身也非常牛逼~原文地址:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题......4,281 0 2018-01-11 14:34
-
Mysql 基础架构分析
MySQL从概念上可以分为四层。从上到下分别为:接入层、服务层、存储引擎层、系统文件层。接入层:不同语言的客户端通过mysql的协议与mysql服务器进行连接通信,接入层进行权限验证、连接池管理、线程管理等。服务层:包括sql解析器、sql优化器、数据缓冲、缓存等。存储引擎层:mysql中存储引擎是基于表的。系统文件层:保存数据、索引、日志等。贴个图:4,544 0 2017-12-25 16:56
-
一些关于数据库事务的基本原则总结
事务:事务是一组原子性sql查询语句,被当作一个工作单元。若mysql对改事务单元内的所有sql语句都正常的执行完,则事务操作视为成功,所有的sql语句才对数据生效,若sql中任意不能执行或出错则事务操作失败,所有对数据的操作则无效(通过回滚恢复数据)。事务有四个属性:1、原子性:事务被认为不可分的一个工作单元,要么全部正常执行,要么全部不执行。2、一致性:事务操作对数据库总是从一种一致性的状态转......3,506 4 2017-12-25 16:40