数据库
文章平均质量分 58
数据库技术
CrazyL-
记录学习点点滴滴,一次共勉
展开
-
MySQL版本升级
不支持跨大版本直接升级,可支持的直接升级如下:小版本间升级,如:5.7.29到5.7.34跨一个版本升级,如:5.6.x到5.7.x源码包升级方式1. 下载源码包以Linux-Generic为例wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz2. 解压并赋权tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64原创 2022-05-17 14:12:54 · 972 阅读 · 0 评论 -
通过Redis和AOP实现防重提交
下面的代码是使用shiro做安全控制的后台管理系统的防重提交。可根据实际情况进行修改import javax.servlet.http.HttpServletRequest;import org.apache.shiro.SecurityUtils;import org.apache.shiro.subject.PrincipalCollection;import org.apache...原创 2020-01-07 14:33:54 · 318 阅读 · 0 评论 -
Redis源码概述
从Redis官网下载最新稳定版本的Redis。解压后源码主要存放在src文件夹中。其中server.c为服务端程序,redis-cli.c为客户端程序。Redis源代码的核心部分主要如下:基本的数据结构:动态字符串sds.c整数集合intset.c压缩列表ziplist.c快速链表quicklist.c字典dict.cSreams的底层实现listpack.c和rax.c...原创 2019-12-31 09:39:52 · 153 阅读 · 1 评论 -
Redis优点
Redis是内存型的数据库,也就是说Redis中的key-value对是存储在内存中的,因而效率比磁盘型的快Redis的工作模式为单线程,不需要线程间的同步操作。Redis采用单线程的原因是因为其瓶颈在内存和带宽上,而不是CPURedis中key-value的value不仅可以是字符串,也可以是复杂的数据类型,如链表、集合、散列表等Redis支持数据持久化,可以采用RDB、AOF、RDB&...原创 2019-12-31 09:10:22 · 222 阅读 · 0 评论 -
高性能分布式锁-redisson的使用
概述:在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多个机器上,简单的同步加锁是无法实现的,给数据库加锁的话,对于高并发,1000/s的并发,数据库可能由行锁变成表锁,性能下降会厉害。那相对而言,redis的分布式锁,相对而言,是个很好的选择,redis官...转载 2019-11-21 09:46:57 · 137 阅读 · 0 评论 -
redis队列操作
添加/** * Add the string value to the head (LPUSH) or tail (RPUSH) of the list stored at key. If the key * does not exist an empty list is created just before the append operation. If the key exist原创 2017-07-13 14:08:09 · 540 阅读 · 0 评论 -
基于spring的多redis数据源配置
spring bean <bean id="jedisConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="testWhileIdle" value="true" /> <!-- <property name="maxActive" value="${redis.pool.max原创 2017-06-26 13:56:13 · 5966 阅读 · 3 评论 -
redis常用场合及命令
保存网页点击数据test:1>set visits:web1:total 345345OKtest:1>set visits:web2:total 656325OKtest:1>incr visits:web1:total345346test:1>incr visits:web1:total345347利用hash表保存用户数据test:1>hset users:kate name "kat原创 2016-09-01 22:31:13 · 354 阅读 · 0 评论 -
redis主从复制
复制redis.conf为两个文件 redis-master.conf resdis-slave.conf更改配置文件的端口 slave配置文件中配置 slaveof master的主机ip 端口分别启动主从节点 redis-server /etc/redis/redis-master.conf redis-server /etc/redis/redis-slave.conf原创 2016-09-01 21:43:09 · 235 阅读 · 0 评论 -
redis有向集合
redis ZADD命令的基本语法如下所示:redis 127.0.0.1:6379> ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUENredis 127.0.0.1:6379> ZADD myset 1 "hello"(integer) 1redis 127.0.0.1:6379> ZADD myset 1 "foo"(integer) 1redis原创 2016-09-01 21:29:21 · 442 阅读 · 0 评论 -
redis链表操作
test:1>lpush data 31test:1>lpush data 52test:1>lrange data 0 -11) 52) 3原创 2016-09-01 21:27:16 · 315 阅读 · 0 评论 -
redis介绍
内存+磁盘的持久化保存 丰富的数据类型,尤其擅长数组类数据的高速处理 数据快照 自带主从复制数据类型 字符串 链表 集合 有序集合 散列表适应场景 时间线应用 对数组形式数据频繁添加和删除原创 2016-09-01 21:24:38 · 235 阅读 · 0 评论 -
memcached简介及安装
临时性键值存储nosql数据库,简单而有力 过去被大量应用在互联网网站中,作为应用和数据库之间的缓存层 可以设置过期时间 不能实时反映数据库内容的变化memcached特点 全内存运转 哈希方式存储 简单文本协议进行数据通信 只操作字符型数据 其他类型数据由应用解释,序列化以及反序列化 集群也有应用进行控制,采用一致性散列(哈希)算法安装apt-get install memcac原创 2016-08-24 23:05:27 · 274 阅读 · 0 评论 -
mongodb新建用户
参考: http://blog.csdn.net/chen88358323/article/details/50206651转载 2016-07-25 15:06:34 · 336 阅读 · 0 评论 -
ubuntu14安装mongodb
参考网上其他教程原创 2016-07-25 13:57:22 · 843 阅读 · 0 评论 -
表的条件顺序
有过滤条件的WHERE要放在后面需要仔细分析下未完。待续。。原创 2016-08-05 16:15:06 · 248 阅读 · 0 评论 -
表的连接顺序
select count(*) from tab_big,tab_small ; select count(*) from tab_small,tab_big ;以上实验发现性能是一样的select /*+rule*/ count(*) from tab_big,tab_small ; select /*+rule*/ count(*) from tab_small,tab_big原创 2016-08-05 16:11:01 · 466 阅读 · 0 评论 -
in与exists
SELECT * FROM ORDER_GOODSINS WHERE ORDER_ID NOT IN (SELECT ORDER_ID FROM ORDER); --21.359sSELECT * FROM ORDER_GOODSINS A WHERE NOT EXISTS (SELECT ORDER_ID FROM ORDER B WHERE A.ORDER_ID = B.ORDER_ID);-原创 2016-08-05 15:28:26 · 229 阅读 · 0 评论 -
count(*)和count(列)
SELECT COUNT(*) FROM ORDER; -- 1.047sSELECT COUNT(order_id) FROM ORDER; --1.063s1000万条数据 主要影响因素感觉还是数据库负载原创 2016-08-05 15:15:07 · 728 阅读 · 0 评论 -
MySQL主从复制
复制的基本步骤配置一个服务器作为Master配置一个服务器作为Slave将Slave连接到Master步骤1和2需要重启MySQL配置Master将服务器配置为Master,要确保服务器有一个活动的二进制日志(binary log)和唯一的服务器ID。二进制日志上保存了Master上所有的改变。服务器ID用于区分服务器,要创建二进制日志和服务器ID,需要停掉服务器,然后将log-b...原创 2019-11-01 11:37:49 · 140 阅读 · 0 评论 -
MySQL安全、用户语句和函数
用户访问权限信息存储在一组规则的MyISAM表中,称之为授权表。这些表位于mysql数据库中,分别是:user :全局层级权限(gobal privileges)db:数据库层级权限(database-specific privileges)tables_priv:表层级权限(table-specific privilege)columns_priv:列层级权限(column-speci...原创 2019-10-31 18:33:08 · 218 阅读 · 0 评论 -
直接在命令行执行MySQL语句
mysql --user='xx' --password='xxx' -e "select * from tmp" database可以在SQL语句结尾处,输入将要用到的数据库名,也可以在表名称前面添加数据库名,database.tmp原创 2019-10-31 16:38:07 · 2921 阅读 · 0 评论 -
MySQL批量导入数据
数据文本文件books.txt格式如下ISBN|TITILE|AUTHOR_LAST|AUTHOR_FIRST|COPYRIGHT DATE|1234567|Notes from undergroud|dostoevsky|fyodor|august 1994|……使用MySQL的LOAD DATA INFILE语句LOAD DATA INFILE '/tmp/books.txt' R...原创 2019-10-31 16:32:10 · 536 阅读 · 0 评论 -
MySQL取消正在执行的SQL语句
mysql> create database bookstore;Query OK, 1 row affected (0.00 sec)mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || admin ...原创 2019-10-31 14:31:09 · 2615 阅读 · 1 评论 -
InnoDB存储引擎
第一个完整支持ACID事务的MySQL存储引擎,行锁设计,支持MVCC,提供类似Oracle风格的一致性非锁定读,支持外键,被设计用来最有效的利用内存和CPU。InnoDB体系结构InnoDB有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作:维护所有进程/线程需要访问的多个内部数据结构缓存磁盘上的数据,方便快速的读取,并且在对磁盘文件上的数据进行修改之前在这里缓存重做...原创 2019-10-25 11:03:53 · 263 阅读 · 0 评论 -
MySQL表存储引擎
存储引擎时MqSQL区别于其他数据库的一个最重要特性。每个存储引擎都有各自的特点,能够根据具体的应用建立不通的存储引擎表。MySQL的核心是存储引擎。MySQL是开源的,可以根据MySQL预定义的存储引擎接口编写自己的存储引擎,也可以通过修改源码来实现自己想要的特性。InnoDB存储引擎支持事务,主要面向在线事务处理(OLTP)方面的应用。特点是行锁设计、支持外键,默认情况下读取操作不会产生...原创 2019-10-24 10:05:17 · 141 阅读 · 0 评论 -
MySQL体系结构
MySQL体系结构图MySQL由以下几部分组成连接池组件管理服务和工具组件SQL接口组件查询分析器组件优化器组件缓冲(Cache)组件插件式存储引擎物理文件MySQL区别于其他数据库的最重要的特点是其插件式的表存储引擎...原创 2019-10-23 16:08:17 · 181 阅读 · 0 评论 -
mysql数据库和实例
数据库(database)物理操作系统文件或其他形式文件的集合。MySQL中,数据库文件可以是 frm、myd、myi、ibd结尾的文件。使用NDB引擎时,数据库的文件可能不是操作系统上的文件,而是存在于内存中的文件,但是定义不变。.frm、.myd、.myi文件是MySQL的原始数据文件.frm 表结构文件.myd 表数据文件.myi 表索引文件数据库实例(instance)...原创 2019-10-23 15:25:56 · 1808 阅读 · 0 评论 -
mysql触发器
触发器创建语法四要素监视地点:table 监视事件:insert、update、delete 触发时间:before、after 触发事件:insert、delete、update创建触发器语法create trigger t1 after insert on t_order for each row begin update goods xxx end;行变原创 2017-10-06 09:27:43 · 570 阅读 · 0 评论 -
MySql中利用insert into select 准备数据uuid主键冲突
转载: http://www.cnblogs.com/tibit/p/6183864.htmlMYSQL 中表1需要准备大量数据,内容主要取自表2,id必须为32位uuid (项目所有表都是这样,没办法), 准备这样插入:INSERT INTO TBL_ONE (ID, SOID, SNAME) SELECT REPLACE (UUID(), '-', ''), TWO.ID,转载 2017-08-23 16:29:52 · 5047 阅读 · 0 评论 -
直接通过mysql命令运行sql脚本
未登录mysqlmysql -u root -p 123456 --port 3306 < D:\sql.sql登陆mysqlsource D:\sql.sql原创 2017-04-03 08:54:33 · 4948 阅读 · 0 评论 -
mysql中limit,offset
转载:http://chinahnzhou.iteye.com/blog/1567537SELECT keyword FROM keyword_rank WHERE advertiserid='59' order by keyword LIMIT 2 OFFSET 1; limit后面跟的是2条数据,offset后面是从第1条开始读转载 2017-03-19 12:00:38 · 1155 阅读 · 0 评论 -
mysql异常
转载自: http://www.2cto.com/database/201410/341132.html在MySQL中,特定异常需要特定处理。这些异常可以联系到错误,以及子程序中的一般流程控制。定义异常是事先定义程序执行过程中遇到的问题,异常处理定义了在遇到问题时对应当采取的处理方式,并且保证存储过程或者函数在遇到错误时或者警告时能够继续执行。定义语法:DECLARE condition_name转载 2016-10-19 11:44:27 · 333 阅读 · 0 评论 -
mysql变量
转载自: http://www.cnblogs.com/wangtao_20/archive/2011/02/21/1959734.htmlset语句的学习:使用select定义用户变量的实践 将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties); 我的修改: select @VAR:=(select sum(am转载 2016-10-19 11:12:51 · 281 阅读 · 0 评论 -
mysql分组排序
SELECT AA.ORDER_NO,AA.OPERATING_TIME,,AA.NEW_STATUS FROM ( SELECT R.ORDER_NO,R.OPERATING_TIME,R.NEW_STATUS,R.RANK原创 2016-09-08 10:15:02 · 778 阅读 · 0 评论 -
mysql 安装sakila样本数据库
通常情况下对于一个全新的MySQL服务器,没有任何数据供我们测试和使用。对此,MySQL为我们提供了一些样本数据库,我们可以基于这些数据库作基本的操作以及压力测试等等。本文描述的是安装sakila数据库。该数据库需要安装在MySQL 5.0以上的版本下载sakila-db.zip http://dev.mysql.com/doc/index-other.html 解压 安装root@ubunt原创 2016-08-16 21:04:27 · 2759 阅读 · 0 评论 -
MySQL DELETE 表别名问题
oracle中可以使用: DELETE FROM TABLE T WHERE T.ID = ##但在mysql中会报语法错误 要么不使用别名,要么更改写法为 DELETE T FROM TABLE AS T WHERE T.ID = ## 或者 DELETE FROM T USING TABLE AS T WHERE T,ID = ##原创 2016-07-13 11:42:54 · 738 阅读 · 0 评论 -
mysql用户创建及赋权
mysql 创建用户及赋权 一, 创建用户: 命令:CREATE USER ' username'@'host ' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的转载 2016-07-11 08:57:39 · 434 阅读 · 0 评论 -
mysql事件
事件的内容其实就是一个存储过程,之所以称之为事件,多了计划调度 调度方法一目了然 状态分为ENABLE和DISABLE,禁用或者启用 ON COMPLETION表示事件执行完后该过程是否保存,PRESERVE就是保存,NOT PRESERVE就是不保存在执行和数据库密切的调度的时候,使用事件是个不错的选择原创 2016-07-07 08:31:14 · 293 阅读 · 0 评论 -
设置客户端登陆阿里云主机上的mysql
登陆阿里云主机mysqluse mysql; update user set host = ‘%’ where user = ‘root’ and host = ‘localhost’;grant all privileges on . to root@’%’ identified by ‘mima’;flush privileges;修改/etc/mysql/my.conf文件 注释掉 bin原创 2016-07-04 17:01:51 · 624 阅读 · 0 评论