mysql
pois
这个作者很懒,什么都没留下…
展开
-
允许远程用户登录访问mysql的方法
需要手动增加可以远程访问数据库的用户。方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"#mysql -u root -prootmysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>s转载 2016-11-26 17:17:12 · 350 阅读 · 0 评论 -
PESSIMISTIC_READ & PESSIMISTIC_WRITE 与 共享锁 & 排它锁
http://suene.iteye.com/blog/1756295可以使用 @Lock , 里面填入的是 JPA 的 LockModeType * Java代码 @Lock(LockModeType.PESSIMISTIC_READ) public List findByUsername(String username); 对应的转载 2018-02-07 16:41:34 · 4327 阅读 · 1 评论 -
join left right inner full 区别
原创 2018-02-14 15:33:45 · 229 阅读 · 0 评论 -
union 和 union all 区别
https://www.cnblogs.com/surge/archive/2012/09/21/2696900.html假设我们有一个表Student,包括以下字段与数据: 01.drop table student; 02. 03.create table student 04.( 05.id int primary key,转载 2018-01-27 14:50:45 · 165 阅读 · 0 评论 -
explain 索引实践
(一)使用explain查看是否使用索引主要是以下这些列:type:ALL表示全表扫描 const表示通过唯一索引或主键一次就找到了 ref非主键和唯一索引 key:NULL表示没有使用索引primary表示使用了主键其它普通索引extra:using filesort 排序时无法使用到索引时using where /using index 不清楚 表:以下蓝色为使用索引,红色为未使用索引主键:u...原创 2018-02-14 16:19:58 · 468 阅读 · 0 评论 -
索引基本功 聚簇索引与非聚簇索引区别,各种索引的区别
和刚入门的菜鸟们聊聊--什么是聚簇索引与非聚簇索引https://www.cnblogs.com/auxg/p/Cluster-and-NonCluster-index.html今天我们来聊一聊关于 聚簇索引和非聚簇索引的问题; 刚开始学数据库SQL的时候,就知道有主键啊(Primary-key),外键啊(Foreign-key)啥的,连个表查询就已经不清楚是要on 那几个字段了,在数据量不太大...转载 2018-02-14 14:19:06 · 652 阅读 · 0 评论 -
read-uncommited 下脏读的实现
mysql(InnoDB)事务隔离级别(READ UNCOMMITTED) 与 锁https://segmentfault.com/a/1190000012654564相同类型的还有看到了吧读取UNCOMMITTED事务也不被排他锁(排他锁将阻止当前事务读取已被修改但未被其他事务提交的行)阻止其实想想也对,应为排它锁对任何其他的事务开始之前申请的排它锁,共享锁都不兼容。但是如果我读不申请锁,就不...转载 2018-02-13 11:05:14 · 635 阅读 · 0 评论 -
MyISAM和InnoDB的主要区别和应用场景
http://blog.csdn.net/aaa123524457/article/details/54375341主要区别:1).[事务]MyISAM是非事务安全型的,而InnoDB是事务安全型的,默认开启自动提交,宜合并事务,一同提交,减小数据库多次提交导致的开销,大大提高性能。2).[锁]MyISAM锁的粒度是表级,而InnoDB支持行级锁定。3).[全文索引]MyISAM支持全文类型索引,...转载 2018-02-17 19:27:01 · 13685 阅读 · 1 评论 -
left join 要点
总的来说,left join的性能优化(尤其还涉及到排序)是个比较复杂、系统的问题,涉及到驱动表索引的内在实现,仅能在以下三的有所关注:1. 连接字段编码一致 悲剧:https://www.cnblogs.com/jarjune/articles/7912722.html2. 认清主表作相应的优化,比如索引、排序之类的3. 尽量用inner joinmysql join 和left jo...转载 2018-02-13 17:02:17 · 476 阅读 · 0 评论 -
mysql 索引优化 实战概述
https://www.cnblogs.com/hephec/p/4557053.html曾经偷偷的面试了两个单位,都提到了Mysql的优化问题,所以以后要多多学习数据库的优化知识了。建设数据库的优化大概主要就是索引的优化了吧,因为我们不可能修改数据结构的情况下,提高数据库的查询效率似乎也只能用索引了。当然这也是建立在你sql语句写的比较科学的情况下,如果你的sql语句本身就写的比转载 2018-02-17 23:47:34 · 182 阅读 · 0 评论 -
转账业务场景
A转给B100元两个关键点:1 A B sql在一个事务中2 A转账前,先查余额开启事务lined = update set A.money = A.money-100 where A.money >= 100if(lined == 0) return 没钱update set B.money = B.money+100提交事务看下这段代码是否有并发隐患根据https://blog.c...原创 2018-04-18 13:14:00 · 559 阅读 · 0 评论 -
插入500万条8位随机唯一数字串
(一)首先想到的问题是,mysql方面采用何种方式插入显然不能500万次连接插入查阅了文章,https://blog.csdn.net/frinder/article/details/38830723关于批量插入数据之我见(100万级别的数据,mysql)总结:方法一和方法二很类同,唯一不同的是方法一采用的是“insert into tb (...) values(...),(...)...;”的...原创 2018-04-25 23:11:10 · 506 阅读 · 0 评论 -
mysql什么时候锁表
(0)不为什么,数据库的事务机制就是这样,insert时全表锁,因为要生成主键字段、索引等等,update是行级锁。同时对一张表进行读写操作,会产生‘脏’数据,导致读、写两端的数据不一致。当然了,这是要在绝对意义上的‘同时’情况下才会发生。我建议你读数据用视图吧。http://www.iteye.com/problems/119113(一)https://segmentfault.com/q/10...转载 2018-04-27 22:11:18 · 14500 阅读 · 1 评论 -
mysql 关于 不可重复读与幻读的解决方案
http://www.cnblogs.com/hellopretty/p/5020093.html关于幻读不可重复读在同一事务中,两次读取同一数据,得到内容不同,侧重点在于数据修改幻读同一事务中,用同样的操作读取两次,得到的记录数不相同,幻读的侧重点在于两次读取的纪录数量不一致不可重复读和幻读在概念上有些交叉,对于不可重复读来说,在同一个转载 2017-08-22 17:19:42 · 12252 阅读 · 6 评论 -
spring 隔离级别 测试代码
@Controller@RequestMapping("/test")@Api(value = "测试", description = "测试")public class TestController { @Autowired private TestService testService; @RequestMapping(value = "listForDirt原创 2017-08-22 17:18:05 · 386 阅读 · 0 评论 -
rc级别 避免脏读的实现(LBCC & MVCC)
两种方式:LBCC和MVCC先看LBCC:从此隔离级别效果入手:事务只能读其他事务已提交的的记录。数据库事务隔离级别的实现,InnoDB 支持行级锁,写时加的是行级排他锁(X lock),那么当其他事务访问另一个事务正在update (除select操作外其他操作本质上都是写操作)的同一条记录时,事务的读操作会被阻塞。所以只能等到记录(其实是索引上的锁)上的排他锁释放后才能进行访问,也就是事务提交...转载 2018-02-13 11:12:39 · 5316 阅读 · 3 评论 -
MySQL 加锁处理分析
http://hedengcheng.com/?p=771类似的文章:https://www.cnblogs.com/yelbosh/p/5813865.html1.解释了为什么update insert delete 也属于当前读2.分9种情况解释了rc rr级别下,当前读在mysql中是如何加锁的2.1 select no update or share mode 操作在非seariable下...转载 2018-02-12 15:51:59 · 187 阅读 · 0 评论 -
乐观锁和 MVCC 的区别?
个人以为MVCC也是乐观锁的一种形式https://www.zhihu.com/question/27876575转载 2018-02-13 11:07:07 · 1159 阅读 · 1 评论 -
针对MySQL创建用户后无法登录的原因
http://www.cnblogs.com/kevingrace/p/5715223.html使用mysql,因为root权限过高,所以考虑新建一用户appadmin,权限仅为要用到的数据库。创建语句如下,其中@“%”是可以在任何地址登录。 :mysql>grant select,insert,update,delete on test.* to appadmin@"转载 2016-11-26 14:34:03 · 7783 阅读 · 0 评论 -
【mysql】mysql有哪些权限
http://blog.csdn.net/liang_0609/article/details/52473689(以下操作都是以root身份登陆进行grant授权,以root@localhost身份登陆执行各种命令。)MySQL包含哪些权限,共29个。权限说明举例usage连接(登陆)权限,建立转载 2017-06-29 11:10:38 · 604 阅读 · 0 评论 -
mysql 隔离级别 脏读 测试
修改方 查询方session A Bautocommit off not care 修改方是为了开启事务 isolation not care read-un原创 2017-08-17 17:45:20 · 508 阅读 · 0 评论 -
mysql 隔离级别 幻读 测试
修改方 查询方session A Bautocommit off offisolation not care REPEATABLE-READ 为边界执行顺序:右侧开启第一次会话...原创 2017-08-17 17:16:28 · 487 阅读 · 0 评论 -
centos 安装 mysql
http://www.mamicode.com/info-detail-503994.htmlCentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。1. 下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch转载 2017-01-18 17:17:11 · 218 阅读 · 0 评论 -
mysql 5.7.15 union order by 子查询排序不生效
其实这么写理论上是对的,很多博客教程都是这样子写的。。select * from (SELECT * FROM article WHERE is_top=0 ORDER BY id DESC) as t1unionselect * from (SELECT * FROM article WHERE is_top=1 ORDER BY start_time desc) as t2转载 2017-11-13 23:55:36 · 310 阅读 · 0 评论 -
mysql如何更改character-set-server默认为latin1
[client]default-character-set = utf8mb4[mysql]character-set-server = utf8mb4http://blog.csdn.net/whd526/article/details/54894559转载 2017-11-06 01:10:27 · 814 阅读 · 0 评论 -
日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problem
https://www.cnblogs.com/fanelephant/p/4216083.html日志:using the Connector/J connection property 'autoReconnect=true' to avoid this problemcom.mysql.jdbc.CommunicationsException: The las转载 2017-11-13 23:54:26 · 1408 阅读 · 0 评论 -
mysql使用kill命令解决死锁问题,杀死某条正在执行的sql语句
http://blog.csdn.net/buster2014/article/details/51035768在使用mysql运行某些语句时,会因数据量太大而导致死锁,没有反映。这个时候,就需要kill掉某个正在消耗资源的query语句即可, KILL命令的语法格式如下:KILL [CONNECTION | QUERY] thread_id每个与mysqld的转载 2017-12-11 09:49:40 · 595 阅读 · 0 评论 -
mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
https://www.cnblogs.com/jim2016/p/6322703.html在mysql 工具 搜索或者插入数据时报下面错误:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'datab转载 2017-11-27 11:16:23 · 151 阅读 · 0 评论 -
spring data jpa mysql 乐观锁 与 AtomicInteger
业务场景:某对象被访问,并累计访问次数特点:1.表中该对象初始没有纪录2.该对象首次被访问后,为其建立一条纪录3.此后每次被访问,访问次数++4.该对象在表中有且仅有一条纪录分析一下这个场景:0.为表的对象字段建立unique索引,确保同一个对象在表中仅有一条纪录1.访问次数为共享数据,且有读和写两个操作,涉及并发2.最先考虑以代码锁进行防并发,但是基于以下几个缺点放弃:(1)代码锁无法就单个特定...原创 2017-07-13 17:32:49 · 3044 阅读 · 2 评论 -
库存问题锁的思考
4.18,此前犯了一些错误,红色批注指正库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。从技术方面剖析,很多人肯定会想到事务,但是事务是控制库存超卖的必...原创 2017-10-20 23:03:44 · 2282 阅读 · 0 评论 -
spring data jpa mysql 悲观锁
实践悲观锁。业务模型是User访问target,target的点击数量+1一般流程是 读——count+1——写如果在并发下,存在count计数失误的情况,可以以如下方法验证:为了模拟放大并发的现象,在读与写之间➕ sleep读-sleep(6000) —— count++ ——写 public PageResult detail(Integer userId, Integer id) {...原创 2017-06-27 16:56:26 · 7211 阅读 · 0 评论 -
讨论 update A set number=number+ ? where id=?的原子性 (含数据库原理)
结论:1. 本句本身具有原子性2. 当前读(包含update等写入操作)锁定数据,直到事务提交https://www.zhihu.com/question/46733729/answer/128582074阿里的mysql大咖给出了肯定的答案比如,表名A,字段名为 number,如下的SQL语句:语句1:update A set number=number+ 5 where id=1;语句2...转载 2018-02-08 23:36:54 · 17194 阅读 · 0 评论 -
Next-key locking是如何解决幻读(当前读)问题的
http://blog.51cto.com/74567456/1887690类似的文章:https://www.cnblogs.com/zhoujinyi/p/3435982.html总结:1. 通过实践阐述了gap lock 的开启与关闭: A. 将事务隔离级别设置为RC B. 将参数innodb_locks_unsafe_for_binlog设置为1C. 确保where索引唯一 ,从而避让 g...转载 2018-02-12 12:58:07 · 2578 阅读 · 1 评论 -
innodb当前读 与 快照读
当前读和快照读好的学习链接:http://blog.csdn.net/taylor_tao/article/details/7063639快照读历史数据-mvccinnodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。(这也就是是此前以rr隔离级别实践时,不仅可以防止可重复读,也防止了欢度)但是它防止...转载 2018-02-07 15:50:37 · 11571 阅读 · 3 评论 -
为什么InnoDB使用索引时不用锁表,可以锁行,而MyIsam则只锁表
涉及到这个问题,首先要解答,索引这种数据结构在InnoDB与MyIsam中有何不同非常经典的文章:https://blog.csdn.net/qq_25551295/article/details/48901317myisam的主索引和次索引都指向物理行,下面来进行讲解innodb的主键下存储该行的数据,此索引指向对主键的引用myisam的索引存储图如下,可以看出,无论是id还是cat_id,下面...转载 2018-04-28 23:10:56 · 1455 阅读 · 0 评论