mysql
JAVA道人
我宁愿做错,也不愿什么都不做.
展开
-
若依的数据源配置,包括druid监控filter
# 数据源配置spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver druid: # 主库数据源 master: url: jdbc:mysql://xxx:3306/ry-vue?useUnicode=true&原创 2021-12-04 15:54:27 · 1664 阅读 · 0 评论 -
mycateye
gitee和github项目可以搜索:mycateye项目已经老了。好两年没有更新,但是使用起来还不错。项目拉下来、会有两个项目mycateye-web和mycateye-agent。其中mycateye-agent是采集数据的,mycateye-web是后台查看的。在build下有个mycat_eye.sql,这个导入到数据库里面去。同时把数据库信息放到两个项目的配置文件里去。然后启动agent项目,再启动web项目,访问localhost7001就可以了...原创 2021-02-01 17:51:17 · 260 阅读 · 0 评论 -
mysql json格式的一些操作
json表的创建-- 创建表CREATE TABLE mytest(id INT , sname VARCHAR(20) , jsontest JSON);json的插入insert into mytest(id,name,jsontest) values(1,"name1",JSON_ARRAY("1","2",NULL,4));insert into mytest(id,name,jsontest) values(1,"name1",JSON_OBJECT("name","to..原创 2021-01-25 18:12:42 · 90 阅读 · 0 评论 -
navicat自动运行备份任务
一。做个备份上图的备份程序备份了所有。点保存就保存了备份命令。如果点击备份就会备份一次。二,创建自动运行任务1.把备份工作拖拽进去2.保存自动运行任务3.建立触发器时间规则4.执行开始...原创 2021-01-25 16:25:14 · 1258 阅读 · 0 评论 -
docker mysql安装
启动mysql服务器实例启动一个MySQL实例很简单:$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag...此处some-mysql是您要分配给容器的名称,my-secret-pw是要为MySQL根用户设置的密码,并且tag是指定所需MySQL版本的标签。请参阅上面的列表以获取相关标签。从MySQL命令行客户端连接到MySQL以下命令启动另一个mysql容器实例,并mysql针原创 2020-12-04 17:42:39 · 121 阅读 · 0 评论 -
mysql之innodb引擎之lock锁
锁的类型行锁意向锁事务中的读锁的算法锁超时死锁锁的表原创 2020-06-16 15:45:20 · 954 阅读 · 0 评论 -
事务的四种隔离级别
事务的四种隔离级别如下:Read Uncommitted(读取未提交内容)Read Committed(读取提交内容)Repeatable Read(可重读)Serializable(可串行化)第一种最弱,可以读到别人未提交的数据,最后一个最严厉,完全串行化.第二种和第三种是互相凑合.mysql默认的是Repeatable Read该级别事务内读的话读的是初始副本.而...原创 2020-04-26 17:50:28 · 126 阅读 · 0 评论 -
mysql锁类别
锁分类的表如下:名字 代码 级别 描述 共享锁 S 行 允许事务读一行数据 排他锁 X 行 允许事务删除修改一行数据 意向共享锁 IS 表 事务想要获得一张表的某几行共享锁 意向排他锁 IX 表 事务想要获得一张表的某几行排他锁 兼容关系如下: IS I...原创 2020-04-26 16:56:35 · 142 阅读 · 0 评论 -
mysql for update使用
相关连接:mysql lock in share mode使用for update 既可以锁表又可以锁行,具体怎么做的.直接从网上拿来一个版本:利用select * for update 可以锁表/锁行。自然锁表的压力远大于锁行。所以我们采用锁行。什么时候锁表呢?假设有个表单products ,里面有id跟name二个栏位,id是主键。例1: (明确指定主键,并...原创 2020-04-26 16:35:01 · 577 阅读 · 0 评论 -
mysql lock in share mode使用
lock in share mode使用方法如下:select name from user where id = 1 lock in share mode就是在查询后面追加一个lock in share mode.那么它有什么用呢?它会在事务中开启一个共享锁S,如果之前有排他锁X,那么它会阻塞,直到X提交释放,才会获取最新值.切记,在事务中,否则不会生成共享锁....原创 2020-04-26 15:48:05 · 1547 阅读 · 1 评论 -
阿里云CloudDba监控指标
数据库指标:TPS/QPS 指标 单位 含义 mysql.tps Per Second 计算公式:(Com_commit + Com_rollback) / Uptime mysql.qps Per Second ...原创 2019-11-26 14:36:41 · 796 阅读 · 0 评论 -
SQLException:Too many connect
随着对jdbc的更进一步理解,遇到这个Bug需要先查看数据库连接max_connects数量是否合适,然后查看连接池的maxActive最大连接数不能大于max_connects就可以了。...原创 2019-11-24 16:39:51 · 249 阅读 · 0 评论 -
update的一个事务测试
update user set name = name + 1 where id = 1当字段在右侧时,这样无论多少并发,都是事务串行的.奇怪,恐怕需要查看mysql源码了原创 2019-10-23 15:04:58 · 197 阅读 · 0 评论 -
Data too long for column 的真相
这个错误的原因在于插入或者修改的数据长度超出了数据库某表的某列的设定长度。例如:表的name长度只有vachar(10),但是你却插入了11个字符,就会报这个错误。然而,这个错误实际上是中间件-jdbc的报错,数据库是没有这个错误的。我们来证明一下:先创建一个表,就只有一个字段id,长度是5CREATE TABLE `ccc` ( `id` varchar(5) DEFA...原创 2019-06-28 13:07:59 · 1125 阅读 · 0 评论 -
mysql索引-------9修复维护索引
索引文件可能会损坏。一个最好的方法是:重置本库引擎。ALTER TABLE it ENGINE=InnoDB它不仅可以回收空间,还可以重建索引。把这条命令当作重启电脑吧。...原创 2019-07-02 16:52:29 · 235 阅读 · 0 评论 -
mysql默认排序出现问题
如果不加order by ,按官方文档说的是:MyISAM是按照插入顺序来的。InnoDb是按照主键顺序来的。但实际上有情况出现InnoDb,结果查出来不按顺序。不清楚怎么回事,反正以后主动加order by 吧...原创 2019-07-02 16:51:44 · 230 阅读 · 0 评论 -
mysql对status进行监控
下面是个cmd命令.mysql -uroot -p123 -e "show global status like '%Innodb_os_log_written%'" -N >> "E:\\aaa.csv"这个命令查询了状态Innodb_os_log_written并写入E:\\aaa.csv需要注意的是:-e 执行sql语句-N 如果不写-N,会有一个没有用...原创 2019-06-28 13:17:59 · 125 阅读 · 0 评论 -
mysql的count(*)
count(*)函数返回的是该表多少行.count(column)返回的是该列不为null的有多少行.总的来说count(*)函数都需要扫描大量的行,这几乎是不能做优化的.但在一些特殊情况下还是可以进一步高效:1.由于MyISAM引擎内置了表的size属性,所以对于MyISAM引擎来说,没有where语句的count是最快的.2.在允许使用近似值的情况下,可以使用Explain...原创 2019-06-28 13:17:26 · 145 阅读 · 0 评论 -
mysql批量更新数据
1.使用ON DUPLICATE KEY UPDATE,该语句是如果存在就修改,如果不存在就插入.以下是两种用法:INSERT INTO wx_sms(id) VALUES (10),(11),(12) ON DUPLICATE KEY UPDATE userid = userid +100INSERT INTO wx_sms(id,userid) VALUE (10,2),(11,...原创 2019-06-28 13:16:57 · 131 阅读 · 0 评论 -
mysql索引在in条件下失效的原因
写法错误1.如果索引字段是字符串,则必须在字段值外加上引号,如:SELECT * FROM notice WHERE villageid IN ('0','4100000')数据量1.如果数据量很小,mysql会认为扫描全表比使用索引快,自然不会使用索引.2.如果查询结果数据量很多,mysql也不会使用索引.比如style 字段就3个值分别等于0,1,2.使用style...原创 2019-06-28 13:17:12 · 728 阅读 · 0 评论 -
mysql:client does not support authentication protocol
1、use mysql;2、alter user 'root'@'localhost' identified with mysql_native_password by '********';3、flush privileges;原创 2019-06-28 13:17:20 · 155 阅读 · 0 评论 -
MySQL统计函数记录——按月、按季度、按日、时间段统计
按年汇总,统计:select sum(mymoney) as totalmoney, count(*) as sheets from mytable group by date_format(col, '%Y');按月汇总,统计:select sum(mymoney) as totalmoney, count(*) as sheets from mytable group by date_...原创 2019-07-02 16:20:10 · 228 阅读 · 0 评论 -
mysql多路由
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework....原创 2019-06-28 13:04:40 · 140 阅读 · 0 评论 -
mysql根据周查询统计,比如week()或者DATE_FORMAT或者跨年要注意的几点
目录前言:周的划分情况:1.周的起始2.周的跨年3.一年有多少周?Mysql的做法:每周的第一天:返回值区间:如何得出返回值是1:总结:其他:前言:周检索和月检索是不一样的,月检索是超级简单。但是周检索稍不注意,就会入坑,而且是很久之后才发现的,比如元旦。在详细接触周检索之前,你需要了解一些关于周的知识。周的划分情况:1....原创 2019-07-10 15:50:15 · 6004 阅读 · 3 评论 -
mysql索引-------8覆盖索引
select * from it where userid =4 就上面这个sql语句,如果有索引(userid,style)InnoDB会执行以下流程,通过B+树找到userid=4的所有主键,然后再通过主键获取数据行。MyISAM会执行以下流程,通过B树找到userid=4的所有行数据。select style from it where userid =4 就上...原创 2019-07-02 16:52:20 · 164 阅读 · 0 评论 -
mysql索引----7多列索引的顺序
在下面这条sql语句里select * from it where userid = 4 and style =0 limit 100,10我们必然是要创建 userid,style这索引来着。但千万不要创建(userid),(style)两条索引,这样的结果会导致,sql优化器选择哪个索引都不好,优化器也可能会索引合并(就是使用多条索引,这本身就代表索引创建的不好。)我们应该创...原创 2019-07-02 16:52:15 · 260 阅读 · 0 评论 -
MySql导入大sql文件
最简单的是直接使用mysql命令控制台,也是最快的.mysql>source F:\insert.sql但是这里有个情况,就是mysql默认设置的max_allowed_packet是1M.也就是说传输最多字节就是1048576那么如果sql文件比较大,超出了1M,则会报错:MySQL server has gone away 这里需要将接受数据设置大些:SET GL...原创 2019-07-02 16:51:30 · 135 阅读 · 0 评论 -
mysql内存优化
摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。查询最高内存占用使用以下命令可以知道mysql的配置使用多少 RAMSELECT ( @@key_buffer_size+ @@query_cache_size+ @@innodb_buffer_pool_s...原创 2019-07-02 16:22:36 · 142 阅读 · 0 评论 -
mysql的索引分类
1.主键索引:不能重复,只有一个ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )2.唯一索引:类似主键,列不能重复ALTER TABLE `table_name` ADD UNIQUE (`column`)3.普通索引ALTER TABLE `table_name` ADD INDEX index_name ( ...原创 2019-06-28 13:06:25 · 116 阅读 · 0 评论 -
mysql批量插入数据脚本
#创建存储过程DELIMITER $$ #以delimiter来标记用$表示存储过程结束CREATE PROCEDURE pre() #创建pre()存储方法BEGINDECLARE i INT; #定义i变量SET autocommit = 0; #不自动提交,否则耗时很可怕SET i=1;WHILE i<100000 DO #对i的值配置 INSERT I...原创 2019-06-28 13:06:17 · 158 阅读 · 0 评论 -
mysql关闭查询缓存
mysql默认查询缓存开启状态.执行下个语句:SHOW VARIABLES LIKE "%cache%"可以得到如下结果:我的这个是已经关闭了,如果默认的话type是ON的。如何关闭?在mysql的my.conf或者my.ini里加入下面语句即可。query_cache_type=0然后重启服务,即可...原创 2019-06-28 13:08:24 · 285 阅读 · 0 评论 -
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024)
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the serverby setting the max_allowed_packet' variableMySQL根据配置文件会...原创 2019-07-02 16:32:19 · 205 阅读 · 0 评论 -
mysql 开启慢查询日志
1.查看初始配置mysql> show variables like 'slow_query%';+---------------------+--------------------------------+| Variable_name | Value |+---------------------+-------...原创 2019-07-02 16:31:24 · 82 阅读 · 0 评论 -
Data-Processer
Data-Processer简介Data-Processer是一个模拟数据生成器。通常在测试过程中,产生完整、全面的真实数据比较困难。Data-Processer可以帮助我们根据需求,创建对应的模版和词典,生成我们需要的模拟数据。此工具由云智慧发布,是一款成熟的模拟数据生成器。已被广泛的运用于全栈性能监控、端到端应用性能管理、全链路性能压测、实时大数据可视化、业务运维等众多项目中,在电商、...原创 2018-08-16 17:41:18 · 1909 阅读 · 0 评论 -
mysqld.exe
下载解压版的mysql,直接双击mysqld.exe就能够启动一个mysql应用.但是该应用并没有注册为系统服务的.mysql.exe是命令行工具,mysqld.exe是主程序.那么如何取消mysql应用呢?进入%mysql%\bin目录下:mysqladmin -uroot [-p password] shutdown即可. 1、bin目录 用于放置一些可执...原创 2018-08-09 10:05:25 · 5856 阅读 · 0 评论 -
mysql索引-----快速教程
看了关于索引的很多知识,决定要记下来,内容有很多。本教程的只使用以下这个表:CREATE TABLE `it` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` varchar(20) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `style` int(11) DE...原创 2019-07-02 16:52:53 · 908 阅读 · 2 评论 -
mysql索引-----1.我们为什么要用索引
正如我们去看一本书的时候,如果想找到你想要找的内容,最快的方法绝不是从第一页开始,逐页向后翻,而是先看目录,然后根据目录去查找想要的内容。在上面这个例子里,目录就拥有索引的作用。mysql的数据存储,如果你想找到某一条,最为低级的算法就是逐个遍历,直到去找到它为止。但是如果数据量庞大,且你要寻找的那条还排在后面,那就要恶心了。不过如果你添加了索引,并且索引里直接保存了该条数据的地址,则直接...原创 2019-07-02 16:52:48 · 377 阅读 · 0 评论 -
mysql的show status和show variables的区别
show status:运行时状态show variables:配置参数原创 2019-06-28 13:17:44 · 517 阅读 · 0 评论 -
mysql索引---------6前缀索引
我们可以对it表的style,userid做索引,那么能不能对content字段做索引呢?答案是可以的。但是你要清楚最为根本的一点,字符串做索引和数字做索引的效率相差很大。其次,mysql对于TEXT/BOOL以及太长的VARCHAR字段是不允许被索引的。在本例中,content字段是varchar类型的,且长度不是太长,所以可以加入索引,但是对于太长的字段,该怎么加入索引呢?...原创 2019-07-02 16:52:10 · 223 阅读 · 0 评论 -
mysql索引----------5索引选择性
这里说一下索引选择性,对后续的章节来说,这个概念还是比较重要的。什么是索引选择性?简单来说就是索引值占总数据值的百分比.比如我们it表的style 一共有01234这5个值,那么有100W条数据,style的选择性就是5/100W,这个选择性是比较低的.想查看某列的选择性可以这样做:SELECT COUNT(DISTINCT style)/COUNT(*) FROM it...原创 2019-07-02 16:52:05 · 223 阅读 · 0 评论