
mysql
文章平均质量分 51
ypp91zr
善于分享,提升自我!
展开
-
mysql省市区县街道
数据都是在一张表,包含地理位置等。通过parent_code匹配上下级联动。原创 2022-11-02 09:32:56 · 1235 阅读 · 1 评论 -
根据数据库表名生成java实体类、根据实体生成创建表语句
公司用的jpa,没有用mybatis。所以也没有用mybatis自动生成。但有些数据库表字段太多,就想着一劳永逸了这里使用的是jdbcTemplate原创 2021-06-07 16:15:50 · 1209 阅读 · 1 评论 -
mysql 给返回列表排序添加序号列
SELECT (@i:=@i+1) rankNum,userLeaderboard.userId,userLeaderboard.userName,userLeaderboard.totalAmount FROM ( SELECT s.user_id userId,u.USER_NAME userName,sum(s.pay_amount) totalAmount FROM t_sale_deal_info s,t_user u WHERE s.user_id=u.id .原创 2020-07-03 14:48:47 · 821 阅读 · 0 评论 -
记一次线上Mysql事故
由于数据订正,同事执行了脚本,数据量大概在几百万,开始没有多线程跑,导致数据库卡死,然后造成死锁。一直 LOCK WAIT,线上页面卡死,无法提交数据,重大事故数据表采用的InnoDB,InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION);二是采用了行级锁。行级锁与表级锁本来就有许多不同之处查看造成的SQLselect * from information_schema.innodb_trx;上面是已经杀死了 LOCK WAIT的Mysql线程的结果,如果有原创 2020-05-21 05:29:42 · 435 阅读 · 0 评论 -
mysql优化方式
在面试以及实际工作中必不可少的话题。mysql优化是一项综合性的过程,并不是优化一种性能就能提高很多,基本是这里优化一些,那里优化一些。性能就提起来了。个人理解,勿喷优化的方面可以从以下方面着手;a.表的设计,sql语句,满足三范式,一般不满足三范式的数据库不能叫做关系型数据库 三范式: 1NF:字段不可分; 2NF:有主键,非主键字段依赖主...原创 2019-02-27 18:58:57 · 456 阅读 · 0 评论 -
linux 安装mysql 5.6报错 libc.so.6 libstdc++.so.6
使用yum安装mysql5.6的时候,按安装过程中出现了libc.so.6 libstdc++.so.6错误错误内容是以下图: 问题其实已经贴出来了(不排除有可能是其他问题),解决办法也是在网上搜集找到的。删除yum remove "mysql56-community-release-el7.*"yum remove "mysql56-community-release-e...原创 2018-12-11 17:01:42 · 1406 阅读 · 0 评论 -
mysql profiling的使用与sql分析
mysql在5.0.3版本之后添加了profiling来进行性能分析首先进入数据库show profiles;mysql默认是关闭的,也就是OFF需要设置成1开启,也就是ON,注意设置以后退出窗口之后会还原,要永久生效貌似需要重启mysql才行查看是否开启:开启:set profiling=1在这之后每次执行的sql语句都会被记录。然后可以查看具体每个sql...原创 2018-12-21 12:06:12 · 1572 阅读 · 0 评论 -
windows 安装logstach进行同步mysql到Elasticsearch
工作需要,要同步mysql数据到Elasticsearch,比较好的方案是使用logstach,还需要安装一个logstash-input-jdbc插件来进行同步先从官网下载logstach,注意版本一定要一致,不然不支持下载后解压,进入bin目录新建一个logstash.conf文件,文件名随意取,启动正确到自己文件名就行。我这里是新建了一个mysql文件夹,再新建的一个m...原创 2018-12-07 16:45:51 · 1146 阅读 · 0 评论 -
mybatis Integer类型查询可能出现的问题
mapper.xml :<select id="count" parameterType="com.pinyu.system.web.page.Page" resultType="java.lang.Integer"> select count(m.id) from hr_push_msg_model as m <where> <if test=".原创 2018-11-28 11:18:45 · 1895 阅读 · 0 评论 -
linux RPM格式安装mysql出现 错误:依赖检测失败: mariadb-libs 被 mysql-community-libs-8.0.13-1.el7.x86_64 取代
一个命令:yum remove mysql-libs解决清除之前安装过的依赖即可原创 2018-12-05 00:10:48 · 25616 阅读 · 7 评论 -
XA resource 'XXXXdatasource': end for XID '' raised -7: the XA resource has become unavailable
今天把分布式事务弄好以后,后面一直报连接错误先来说这个错误:XA resource 'XXXXdatasource': end for XID '' raised -7: the XA resource has become unavailable这个算是mysql对于Atomikos的一个小bug 官方的解释: A possible workaround might be to ...原创 2018-11-12 16:51:22 · 6181 阅读 · 1 评论 -
mysql 查询相关记录信息以及慢查询
mysql优化,肯定要考虑sql语句(sql语句优化不在本文章内说明),优化sql语句,首先要定义慢查询,就是查询速度比较慢的sql,定位记录并分析如果想知道当前mysql运行的一些状态,当前的mysql连接、并发量、运行时间等首先进入mysqlshow status看以下图,有400多种,平时常用的我们没有这么多,就那么几种。除非专业的DBA数据库管理员需要知道很多甚至全部...原创 2019-03-01 00:17:08 · 397 阅读 · 0 评论 -
mysql 索引
mysql索引是mysql一般优化比不可少的话题,但并不是索引越多性能就越好,索引也需要开销。PRIMARY KEY(主键索引)ALTER TABLE `table_name` ADDPRIMARY KEY( `col` )UNIQUE(唯一索引) ALTER TABLE `table_name` ADDUNIQUE(`col`)INDEX(普通索引) A...原创 2019-03-01 22:26:08 · 176 阅读 · 0 评论 -
mysql 水平分割
在面对海量数据的情况下,索引当然是其中一种优化手段,索引也会占用开销、磁盘等,除了索引还可以进行表的分割首先我先画一个图,一个思路图划得有点丑。当我们比如要取id为1000的user,1000%4=0 那我们取QQ0这张表里面id为1000的的user,当然4张表的表结构都是一样的。只是数据不一样而已。当我们添加user的时候,就直接往QQID里面添加一条记录,QQID的表只有一...原创 2019-03-01 23:32:21 · 589 阅读 · 0 评论 -
mysql卡死 某张表卡死 其他表正常
今天在进行表操作的时候,改了了字段alter table name drop column等,然后这张表都卡死了。涉及到此表的所有操作页面一直pending。数据库也打不开此表查看哪些运行的命令造成,如sql语句等select id, db, user, host, command, time, state, infofrom information_schema.processlis...原创 2019-09-20 10:16:15 · 5453 阅读 · 2 评论 -
mysql order by+limit排序无效问题
问题出现场景,在假数据测试的时候,有一条sql,一般正常的分页排序。死活不倒序后来发现了是在排序的字段有重复,没有唯一,在我接手时之前使用的create_time字段倒序 order bycreate_time desc limit 0,10改为id排序问题解决order byid desc limit 0,10当排序的字段有重复的时候可能会导致排序失败混乱,还是第一次遇到这种...原创 2019-04-21 00:41:16 · 4618 阅读 · 0 评论 -
MYSQL设置数据库编码
今天在添加数据的时候中文乱码了,然后去修改了下mysql的编码格式,小问题,以前没有记录过此类问题,小记一下先说一下mysql的8个character_set的含义:character_set_client主要用来设置客户端使用的字符集。character_set_connection主要用来设置连接数据库时的字符集,如果程序中没有指明连接数据库使用的字符集类型则按照这个字符集设置...原创 2019-04-11 18:23:38 · 10681 阅读 · 0 评论 -
docker 实现mysql主从复制
主从复制:本机是阿里云服务器,Centos7 内核3.10.先下载mysql镜像(上图)1、创建文件夹:data、conf、logs用于mysql数据库文件和日志文件以及配置文件挂载。数据库文件等不可能放在容器里面我的master和slave分开的mkdir -p /mysql/master/datamkdir -p /mysql/master/confmkdir -p /m...原创 2019-04-12 23:34:50 · 408 阅读 · 0 评论 -
连接mysql信息警告:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `co
今天在java连接mysql的时候有一句警告:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual load...原创 2019-03-05 20:00:40 · 2224 阅读 · 0 评论 -
Unknown character set index for field '255' received from server.
使用java连接mysql时候,报错:Unknown character set index for field '255' received from server.原因是mysql驱动版本太低解决办法:升级mysql驱动版本<dependency> <groupId>mysql</groupId> ...原创 2019-03-05 17:47:45 · 1277 阅读 · 0 评论 -
mysql 垂直分割
垂直分割和水平分割的区别就是,水平分割是分割记录,以一条记录/行为单位。垂直分割则是以列为单位,将列分割出去。举个例子:垂直分割指的是:字段很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。例如学生答题表tt:有如下字段:Id name 分数 题目 回答其中题目和回答是比较大的字段,id nam...转载 2019-03-01 23:48:26 · 1005 阅读 · 0 评论 -
spring boot+mybatis+druid 多数据源多库分布式事务
废话不多说,首先贴配置文件,需要引入pomxml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</versi...原创 2018-11-12 11:23:19 · 1742 阅读 · 0 评论 -
spring boot+mybatis+druid 多数据源配置
application.yml(application.properties)配置:spring: datasource: druid: type: com.alibaba.druid.pool.xa.DruidXADataSource driver-class-name: com.mysql.jdbc.Driver ...原创 2018-11-12 11:12:08 · 583 阅读 · 0 评论 -
MySQL 开发实践 8 问,你能 hold 住几个?
最近研发的项目对DB依赖比较重,梳理了这段时间使用MySQL遇到的8个比较具有代表性的问题,答案也比较偏自己的开发实践,没有DBA专业和深入,有出入的请使劲拍砖!…MySQL读写性能是多少,有哪些性能相关的配置参数?MySQL负载高时,如何找到是由哪些SQL引起的?如何针对具体的SQL做优化?SQL层面已难以优化,请求量继续增大时的应对策略?MySQL如何做主从数据同步?如何防止DB误操作和做好容转载 2017-10-09 10:48:58 · 334 阅读 · 0 评论 -
MySQL创建外键出现 ERROR 1005: Can't create table (errno: 150)解决办法
创建外键出现上述150错误,多方排查。有3个原因1、类型不一样不匹配2、找不到引用的列(非sql手动设计表添加约束外键应该不会出现此问题)3、2张表的字符编码不一致或者存储引擎不一样,比如一张是MyISAM,一张是InnoDB我出现的是第三种情况,存储引擎不一样,都改成InnoDB就可以了,不要都改成MyISAM,因为MyISAM不支持外键,不支持事务原创 2017-07-05 15:02:33 · 13231 阅读 · 0 评论 -
mysql创建外键不起作用
今天在mysql手动创建外键的时候,创建了好几次都失败,语法和方式方法都没问题。然后进去点开选项,居然是MyISAM然后改为InnoDB,再次创建成功众所周知MyISAM是不支持事务的,而InnoDB支持事务,MyISAM强调的是性能,执行速度比InnoDB快。但不支持事务无法创建外键,而InnoDB提供事务支持以及外部键等高级数据库功能区别:◆1.Inno原创 2017-07-05 14:33:45 · 2582 阅读 · 0 评论 -
安装mysql出现write configuration file
今天在安装mysql的时候,安装版在最后一步出现了write configuration file错误,由于是重装,多方排查发现是卸载没有卸载干净最后解决方法: 1、卸载MySQL 2、删除安装目录及数据存放目录 3、在注册表(regedit)查询mysql,全部删除 4、在c盘查询MySQL相关文件,全部删除(Program files、U原创 2017-07-03 14:43:39 · 17549 阅读 · 1 评论 -
绿色版mysql安装和配置
一、MySql概述 MySql数据库是有瑞典MySql AB公司开发,现在该公司被Oracle收购属于Oracle所有。同SQL Server类似,它也是基于关系型数据库的数据库管理系统,在Web应用方面MySQL是最好的RDBMS之一,因为它属于轻量级的RDBMS。 现在MySql的最新版本是5.6.17,最新下载地址:http://dev.mysql.c原创 2017-07-03 11:28:06 · 329 阅读 · 0 评论 -
The security settings could not be applied to the database because the connection has failed w
The security settings could not be applied to the database because the connection has failed with the following error.Error Nr. 1045Access denied for user 'root'@'localhost' (using password: YES)原创 2017-03-15 22:40:24 · 1240 阅读 · 0 评论 -
乐观锁 悲观锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次拿数据的时候都会认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人转载 2017-04-06 23:41:18 · 198 阅读 · 0 评论 -
查看mysql执行计划以及各个参数
MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。输出结果可以让我们了解MySQL 优化器是如何执行SQL 语句的。这条命令不会提供任何建议方案,能够提供重要信息进行调优如EXPLAIN SELECT * FROM s1 以s1表为例子显示的信息有id,select_type,table,type,key,ref等信息id:如果有子查询,ID的原创 2017-03-18 23:30:23 · 6494 阅读 · 0 评论 -
mysql索引的创建和使用
索引:其实是根据我们的数据库结构抽取的另外一个映射我们数据类型的数据结构,一般实现了B-Tree或B+查询算法来快速定位到我们数据库的信息的结构,速度快,但并不是所有的查询都用索引,这个需要根据实际场景业务需求而定!创建索引:CREATE INDEX s2 ON s1(id) 在id上面创建名称为s2的索引s2:索引名称s1:创建索引的表id:创建索引的列查看执行计划:原创 2017-03-18 23:42:05 · 8627 阅读 · 0 评论 -
深入理解 Spring 事务原理
一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接 Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回滚事务 con.com转载 2017-10-09 10:52:12 · 372 阅读 · 0 评论 -
hibernate 实体增删改查遇到mysql关键字
今天在拿到别人的项目需要重构修改的时候hibernate插入的时候遇到了实体的字段是mysql关键字贴图:当时遇到很纳闷,按理说hibernate对象进行插入都是自动生成的sql,不应该存在sql错误。后来发现实体entity生成的字段和mysql里面的关键字冲突了也就是字段和mysql的关键字一样。但是hibernate没有给字段加上`,都知道原创 2017-11-23 17:47:15 · 1461 阅读 · 0 评论 -
spring boot log4j2 自定义级别日志并存储,超详细
由于需要一些业务日志,本来是用的注解,然后用spring aop获取注解的形式来记录,但是由于最开始的时候没有统一controller 方法的参数,参数数据,细致到id不太好记录。于是想到了log4j的形式存储数据库,但log4j的形式记录会记录所有级别的日志,即使指定日志级别,其他框架里面的同级别日志也会记录,很混乱。于是想到了自定义级别来记录存储,这样就解决了其他框架同级别的日志不会同时存储,...原创 2018-11-02 11:47:57 · 7768 阅读 · 2 评论 -
log4j2 记录信息到数据库
定义了一个切面 Spring Aop的添加了注解的设置userId等自定义注解:package com.pinyu.system.global.ann;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retentio...原创 2018-11-01 17:22:55 · 1040 阅读 · 0 评论 -
poi 导出excel
废话不多说,贴代码:package com.pinyu.system.utils.excel;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import...原创 2018-10-30 14:05:26 · 229 阅读 · 0 评论 -
spring boot 集成quartz 定时任务调度
添加依赖:<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> <exclusions>原创 2018-10-18 10:57:37 · 301 阅读 · 0 评论 -
启动mysql Job for mysqld.service failed because the control process exited with error code. See "syste
今天你重启linux后,启动mysql一直报错 Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. ...原创 2018-10-08 11:15:28 · 29463 阅读 · 3 评论 -
mysql数据库 mybatis插入数据返回主键
在语句前面加上以下语句即可第一种:<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> SELECT LAST_INSERT_ID() </selectKey>第二种:useGeneratedKeys="true" keyPr原创 2018-10-12 18:36:56 · 315 阅读 · 0 评论