-
Linux Centos7 下使用yum安装redis
更改yum源 由于CentOS官方yum源里面没有Redis,这里我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库: yum install epel-release 安装redis yum install redis 启动redis systemctl start redis.service 设置redis开机启动 systemctl enable redis.…- 39
- 0
-
oracle恢复误删除数据
适⽤范围: 适⽤于oracle 10g or high 处理过程 1.闪回drop的表:(当表所在的表空间空间不足,oracle也会删除回收站里的内容,所以此方法需要表空间空间充足、recyclebin没有被清空、删除时没加purge) drop删除的表存放在recyclebin中,基于recyclebin闪回。 查看回收站对象: SELECT owner,object_name,o…- 53
- 0
-
Navicat for MySQL 15 v15.0.27 中文企业正式版(附安装教程) 32/64位 破解版
Navicat for MySQL 15是一款针对MySQL数据库而开发的第三方mysql管理工具,该软件可以用于 MySQL 数据库服务器版本 3.21 或以上的和 MariaDB 5.1 或以上。能够同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库…- 1.3k
- 0
-
Mysql如何实现事务隔离
394 1、每条记录在更新的时候都会同时记录一条回滚操作。 2、同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)。 3、在读已提交的级别下,都会通过MVCC获取当前数据的最新快照。 实例 1.selectcount(1)fromuserwhereage=20; --return0:当前没有age=20的 2.updateusersetname=testwhereage=…- 1.5k
- 0
-
mysql水平分表是什么
391 1、水平分表分的是行记录。 2、可以根据某个字段的范围做划分,比如订单号字段,从0到10000一个表,10001到20000一个表。 3、可以根据某个字段的HASH取模做划分,也按照时间切分。 实例 CREATETABLE`msg_2`( `id`int(11)NOTNULLAUTO_INCREMENT, `uid`int(11)NOTNULL, `content`varchar(50)N…- 1.5k
- 0
-
mysql分表和分区的区别
1、分区只是一个表中数据和索引的存储位置发生了变化,分表是将一个表分成多个表,是一个真实的多套表的配套文件。 分区不能突破数据库层面。无论怎么分区,这些分区都应该在一个数据库下面。分表可以在同一个库中分配子表,也可以在不同的库中分配子表,突破数据库性能的限制。 2、分区只能替代水平分表的功能,不能替代垂直分表的功能。 实例 [root@BlackGhosttest]#ls|grepuser all…- 1.6k
- 0
-
mysql中分表是什么
1、分表就是把一张超大的数据表,拆分为多个较小的表,得到有效的缓解。 2、在MySQL分区功能出现以前,要想解决超大表问题,只能采用分表操作,分区就是分表的数据库实现版本。 水平分表的功能可以用更加便捷的分区来替代,但是垂直分表的功能,分区却无法替代。 实例 <!--创建两个分表,表结构必须和上面完整的表结构一致--> mysql>createtabletb_member1lik…- 1.8k
- 0
-
mysql子分区的使用注意
1、每个分区必须有相同数量的子分区。 2、如果在一个分区表上的某个分区上使用SUBPARTITION来明确定义子分区,那么就必须定义其他所有分区的子分区。 子分区可以用于特别大的表,在多个磁盘间分配数据和索引。 实例 CREATETABLEts(idINT,purchasedDATE) PARTITIONBYRANGE(YEAR(purchased)) SUBPARTITIONBYHASH(TO_…- 1.8k
- 0
-
mysql key分区是什么
379 1、按照key进行分区类似于按照HASH分区,但key分区的哈希函数是由MySQL服务器提供。 2、MySQLCluster使用函数MD5()来实现KEY分区,只采用一个或多个列名的一个列表。 实例 createtableuser( aint(11), bdatetime ) partitionbykey(b) partitions4; 以上就是mysql key分区的介绍,希望对大家有所…- 1.6k
- 0
-
mysql hash分区是什么
376 1、hash分区主要用来确保数据在预先确定数目的分区中平均分布。 2、表达式值和它所基于的列的值变化越接近,MySQL就可以越有效地使用该表达式来进行HASH分区。 实例 CREATETABLEemployees( idINTNOTNULL, fnameVARCHAR(30), lnameVARCHAR(30), hiredDATENOTNULLDEFAULT'1970-01-0…- 1.6k
- 0
-
mysql list分区如何理解
1、list分区的每个分区必须明确定义,基于枚举出的值列表分区,通过使用PARTITION BY LIST(expr)来实现。 2、将要匹配的任何值都必须在值列表中能够找到。 实例 createtableuser( aint(11), bint(11) ) partitionbylist(b)( partitionp0valuesin(1,3,5,7,9), partitionp1valuesin…- 1.5k
- 0
-
mysql range分区是什么
1、基于给定区间边界,得到若干个连续区间范围,按照分区键的落点,把数据分配到不同的分区。 range分区主要用于日期列的分区。 2、range分区通过使用PARTITION BY RANGE(expr)实现 。 其中expr可以是某个列值,或一个基于某个列值并返回一个整数值的表达式,如YEAR(date)。 实例 CREATETABLE `Order`( `id` INTNOTNULLAUTO_I…- 611
- 0
-
mysql存储引擎的整理
1、InnoDB是MySQL默认的事务型引擎。 主要面向在线事务处理应用。 InnoDB作为MySQL最重要的存储引擎,它的外部特性有:事务、多版本并发控制、意向锁、行级锁与间隙锁、支持外键、支持跨引擎查询、File per Table、支持压缩、崩溃恢复与热备份。它的内部特性有:Buffer Poll 机制、Change Buffering 机制、自适应哈希索引、支持动态行格式等。 2、MyIS…- 610
- 0
-
mysql InnoDB的崩溃恢复过程
364 1、redo log操作:保证已提交事务影响的最新数据刷到数据页里。 2、undo log操作:保证未提交事务影响的数据页回滚。 3、写缓冲(change buffer)合并。 4、purge操作。 InnoDB的一种垃圾收集机制,使用单独的后台线程周期性处理索引中标记删除的数据。 实例 /*LookforMLOG_CHECKPOINT.*/ recv_group_scan_log_rec…- 792
- 0
-
mysql插入意向锁的使用
361 1、插入意向锁是Gap锁,不是意向锁,是insert操作产生的。当多个事务同时将不同的数据写入同一个索引间隙时,不需要等待其他事务完成,也不会发生锁等待。 假定有一个记录索引包含键值4和7,不同的事务分别插入5和6,每个事务都会产生一个插入意向锁,加到4-7之间,得到插入行上的排他锁,但不会相互锁定,因为数据行并不冲突。 2、插入意向锁不会阻止任何锁,插入记录会持有记录锁。 实例 inse…- 670
- 0
-
mysql临键锁的使用
1、默认情况下,innodb使用临键锁锁定记录。 select...forupdate 2、当查询索引包含唯一属性时,临键锁将被优化并降级为记录锁,即只锁定索引本身,而不是范围。 3、不同场景下的临键锁会退化。 实例 事务1 starttransaction; selectSLEEP(4); select*fromtestwhereage=22forupdate; select*fromtestw…- 705
- 0
-
mysql间隙锁的用法
区间锁,只锁一个索引区间(开区间,不包括双端端点)1、在索引记录之间的间隙中加锁,或在索引记录之前或之后加锁,不包括索引记录本身。2、间隙锁可用于防止幻读,以确保索引之间不会插入数据。实例session 1:start transaction ;select * from news where number=4 for update ; session 2:start transaction…- 923
- 0
-
mysql InnoDB的四种锁定范围
1、记录锁,锁定索引中的记录。 2、间隙锁。 要么锁定索引记录中间的值,要么锁定第一个索引记录前面的值,要么锁定最后一个索引记录后面的值。 3、临键锁,是索引记录上的记录锁和索引记录前的间隙锁的组合。 4、插入意向锁,在insert操作中添加记录id的锁。 实例 --id列为主键列或唯一索引列 UPDATESETage=50WHEREid=1; 以上就是mysql InnoDB的四种锁定范围,希望…- 683
- 0
-
mysql元数据锁是什么
349 1、MDL不需要显式使用,在访问时会自动添加。 2、MDL的作用是保证读写的正确性。 你可以想象,如果一个查询正在遍历一个表中的数据,而另一个线程在执行过程中改变了这个表的结构并删除了一列,那么查询线程得到的结果肯定不符合表的结构。 3、MDL是在MySQL5.5版本中引入的,在对一个表进行增删改查时,加MDL读锁。 在对表进行结构变更时,加MDL写锁。 实例 //sessionA: be…- 542
- 0
-
mysql全局锁如何使用
346 1、全局锁将整个数据库加锁。加锁后整个实例将处于只读状态。 2、后续的MDL写句、DDL句、更新后的事务提交句将被堵塞。其典型的使用场景是做全库的逻辑备份。 锁定所有表格,从而获得一致的视图,保证数据的完整性。 实例 #全局锁,简称FTWRL FLUSHTABLESWITHREADLOCK; #解锁命令 UNLOCKTABLES; 以上就是mysql全局锁的使用,希望对大家有所帮助。更多m…- 557
- 0
-
mysql中regexp_replace函数的使用
1、函数将字符串expr中匹配模式pat的子串替换为repl并返回替换结果。 2、若expr、pat或repl为NULL,函数返回NULL。 REGEXP_REPLACE()函数支持以下可选参数: pos表示从字符串expr的指定位置开始搜索。默认从第一个字符开始匹配。 occurence表示替换第几次匹配的子串。默认值为0,表示替换所有匹配的子串。 match_type表示匹配方式,参数与上述R…- 976
- 0
-
mysql中regexp_substr函数的使用
1、返回字符串expr中匹配模式pat的子串,如果找不到匹配的子串,返回NULL。 2、若expr或pat为NULL,函数返回NULL。 REGEXP_SUBSTR()函数支持以下可选参数: pos表示从字符串expr的指定位置开始搜索。默认从第一个字符开始匹配。 occurence表示返回第几个匹配的子串。第一次匹配的子串默认返回。 match_type表示匹配方式,参数与上述REGEXP_LI…- 728
- 0
-
mysql中regexp_instr函数的使用
1、函数返回字符串expr中匹配模式pat的子串位置,如果没有找到匹配的子串,则返回0。 2、若expr或pat为NULL,则函数返回NULL。字符的位置从1开始。 可选参数: pos 表示从字符串 expr 的指定位置开始查找。默认从第 1 个字符开始匹配。 occurrence 表示返回第几次匹配的结果。默认返回第 1 次匹配的子串位置。 return_option 表示返回位置的类型。如果该…- 603
- 0
-
mysql中binlog有什么作用
334 1、数据恢复。只要有数据库在某个时刻的备份以及此时后的所有binlog,就可以恢复数据库的数据。 在我们的日常工作中,我们的DBA学生经常可以帮助我们将数据库的数据恢复到任何一秒。 2、主从复制。为了提高MySQL的效率,经常做读写分离,即一主多从。 一个主库(写库),多个从库(读库)。 此时,从库可以监控主库的binlog日志,同步写库的所有更改操作。 实例 binlog_format=…- 613
- 0