-
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
-
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
-
mysql5.7 ibtmp1文件过大
接到了一台MySQL5.7服务器磁盘空间不足的报警。经过排查后发现,数据目录下面有一个ibtmp1的文件特别大,有35G,占用了约80%的空间。$du-shibtmp135Gibtmp1ibtmp1是个什么东西呢?查看官方文档后发现这是非压缩的innodb临时表的独立表空间。通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:a......19,872 0 2018-12-25 13:59
-
Mysql 内存占用过高问题处理
自从上月末LinkNemo迁移到新架构后,服务器的内存偶尔不够用,尝试调配了一些程序的jvm参数,效果稍有改善,但是还不是特别理想。主要原因还是服务器的内存太小了。第一个版本的LinkNemo程序上线的时候是在15年12月31,那时候LinkNemo服务器的内存配置才512M。后来到17年上半年,陆陆续续在LinkNemo上加了不少新功能,512内存不太够用了,这才升级到1G内存。最近这次大版本升......19,803 0 2018-12-07 11:22
-
mysql5.7 ibtmp1文件过大
最近LinkNemo迁移到新的程序,新的环境上,服务不是很稳定,配置还有待调优。上午发现了一个问题:磁盘使用达到100%:$df-h Filesystem Size UsedAvailUse%Mountedonudev 479M 0 479M&......18,790 0 2018-12-03 21:12
-
mysql插入emoji表情异常: java.sql.SQLException: Incorrect string value: '\xE6\x98' for column
首先,看到这个问题大致推测应该是字符编码的原因。查了下资料,了解到UTF-8编码有可能是两个、三个、四个字节,而emoji或者某些特殊符号则占用四个字节。mysql中的utf-8编码最多存储却为三个字节。所以导致了该异常:java.sql.SQLException:Incorrectstringvalue:'\xE6\x98\x88\xE8\xAE\xA152'forcolumn大概mysql的u......17,681 0 2018-11-15 10:28
-
mysql binlog关闭/清理
mysql的binlog是用来记录所有操作日志,以便在数据丢失或者其它情况下用来完整恢复数据。但是,如果操作量较大,那么binlog的文件也会比较大,一些情况下可能会大量占用磁盘空间。这里提到的是单机的情况下,集群情况下暂不涉及。清理:登录mysql指令界面,输入resetmaster;这时候再到mysql的data目录,即可发现binlog文件都清理完了。关闭:找到mysql的配置文件,my.c......21,291 0 2018-11-09 16:09
-
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
-
记一次删库跑路
这些天正在考虑做LinkNemo程序迁移的工作,于是乎准备把目前LinkNemo生产的数据库导一份到本地,用来做测试迁移。几个终端同时操作,一时操作失误,然后:dropdatabasecynthiaemmmmmmm...没错,LinkNemo的数据库就这样被删掉了。我误把当前操作的终端机器认为是本地机器。回车的那一瞬间就感觉出事情了。====以上是前因。也是从11月8日下午至11月9日LinkNe......18,633 6 2018-11-09 14:07
-
MySQL mysqldump数据导出详解
介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。 语法:默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表。Usage:mysqldump[OPTIO......19,564 0 2018-08-29 18:20
-
SQL like%%模糊搜索优化方案一 -- 主键查询
mysql>selectcount(*),now()frommusic_song_base;+----------+---------------------+|count(*)|now()|+----------+---------------------+|474025|2018-05-2515:30:59|+----------+---------------------+1rowin......2,943 0 2018-05-25 15:39
-
SQL中instr和like的使用区别
1、instr函数 instr函数是一个字符串处理函数,它在Oracle/PLSQL中是返回子字符串在源字符串中的位置,如果在源串中没有找到子串,则返回0。instr函数定义如下:/**返回子字符串在源字符串中的位置(字符串位置从1开始,而不是从0开始)*@paramstr源字符串*@paramsubstr子字符串*@paramposition检索位置,可省略(默认为1),参数为正时,从......2,311 0 2018-05-25 15:09
-
Mysql Join语法以及性能优化
阅读目录(Content)引言一.Join语法概述 JOIN功能分类二.Innerjoin三.Leftjoin四.Rightjoin五.Crossjoin六.Fulljoin七.性能优化 1.显示(explicit)innerjoinVS隐式(implicit)innerjoin 2.leftjo......1,578 0 2018-05-08 10:21
-
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