
MySQL
文章平均质量分 64
原来的1024
走过路过不要错过
展开
-
数据库的binlog、redolog以及undolog
1. binlog1.1 binlog:记录了数据库表结构和表数据的变更(update/delete/insert/create/truncate),不记录select操作,存储的是每条变更的SQL语句。1.2binlog的作用:①用户检索的数据是从搜索引擎得到的,但是我们修改数据是直接操作的数据库,所以数据库的变更要同步到搜索引擎。通过监听binlog的变更,可以对搜索引擎进行更新。②对于一主多从的架构,从机的数据复制通过binlog实现;③数据库的数据被清空,可以通过binlog对数据进行恢复.原创 2021-07-10 14:57:52 · 485 阅读 · 0 评论 -
MyISAM和InnoDB执行引擎的区别,为什么MyISAM查询效率高,B树和B+树的区别
1. MyISAM和InnoDB的区别①MyISAM查询效率高,InnoDB查询效率低;②MyISAM不支持事务和外键,而InnoDB支持;③MyISAM是非聚集索引,InnoDB是聚集索引;④InnoDB支持行级锁。⑤MyISAM对应着3个物理文件:.frm表结构文件,.myi表索引文件,.myd表数据文件。而InnoDB对应2个物理文件:.frm表结构文件,.ibd表数据和索引文件2. 为什么MyISAM查询效率高?①索引存储方式不一样,MyISAM通过索引找到数据文件中原创 2021-06-24 15:11:24 · 938 阅读 · 2 评论 -
MySQL通过存储过程使用循环结构循环创建数据,以及批量数据的导入导出
1. 创建数据为了实现批量数据的导入导出,首先需要创建大量的数据,通过循环结构搭配存储过程实现循环插入,但是这种方式相当慢,博主插入1万条数据,花费了5分钟54秒的时间。需要注意的两点:①不管是循环结构还是分支结构等,都需要在begin-end结构中,而begin-end结构只能用在函数、存储过程内;②为了区分函数或存储过程和普通SQL语句的结束,需要通过delimiter为函数或存储过程单独指定结束符。2. 批量数据的导入导出命令导出的out.sql文件内容如下所示。.原创 2021-06-24 11:56:53 · 590 阅读 · 0 评论 -
MySQL事务的四种隔离级别,mysql中的不可重复读和幻读的区别,Repeatable read可重复读隔离级别下怎么不存在幻读问题?
1. 事务的隔离级别1.1 read uncommited:读未提交。一个事务读到了另一个事务未提交的脏数据,称之为脏读。1.2 read commited:原创 2021-06-13 14:00:30 · 476 阅读 · 0 评论 -
MySQL给用户设置密码(修改密码)、创建用户,grant为某个IP、某个网段或所有IP地址创建访问用户并授权
1. 设置密码1.1 我们刚安装完mysql,登录是不需要密码的,可以直接进入,如下图。1.2 感觉没密码总是不靠谱,所以想要设置一个密码。其实我们只要修改一下用户表中对应用户的密码就可以重新设置密码了,登录用户默认是root,我们可以通过 select user();指令查看,如下图。确认用户后,我们进入mysql库,并查看user表的信息,如下图。我们这边可以看到root用户密码为空,我们更新root用户密码即可,如下图。注意:host、user和passwor.原创 2021-04-23 22:39:50 · 2225 阅读 · 0 评论 -
Java多线程、高并发秒杀时MySQL出现死锁原因(Deadlock found when trying to get lock)及对应解决方案
1. 死锁背景1.1 在做高并发秒杀中创建订单、减库存步骤时出现异常:MySQLTransactionRollbackException: Deadlock found when trying to get lock,也就是出现了死锁。1.2 我们在学多线程时,知道死锁发生在两个线程互相去抢占对方的锁情况,如下图。1.3 那我们这边出现死锁的原因是什么呢?出现死锁的原因有很多,比如相同记录行锁、索引锁以及GAP锁,我这边应该算是索引锁。在秒杀时,将创建订单、扣减商品库存放在了一个事务中.原创 2021-04-19 04:23:22 · 4048 阅读 · 0 评论 -
MySQL5.6解压版详细安装教程(附安装配置、MySQL数据库设置root管理员密码,MySQL字符集设置问题及解决办法)
写在前面:MySQL安装分为两种方式,一种是MSI安装版(普通的安装包,有引导安装的界面),另一种是压缩包解压版(解压可直接使用,但需要配置),本文主要针对压缩包解压安装进行讲解,并附加安装过程遇到的问题以及相应的解决办法。1. 下载进入下载官网后,点击左图所示红箭头处跳转到之前的版本下载页面,选择【5.6.50】、64位还是32位根据系统自行选择,然后点击右下角的【Download】按钮下载。2. 配置2.1 解压 将下载后的压缩包解压至你想放置的路径下,路径的注意...原创 2021-01-03 19:50:41 · 4382 阅读 · 2 评论