MySQL
文章平均质量分 92
慢就是【快】
三律:律行、律言、律心
展开
-
Docker安装Tomcat、MySQL和Redis
总体步骤Docker安装Tomcatdocker hub上查找tomcat镜像docker search tomcat从docker hub上拉取tomcat镜像到本地docker pull tomcatdocker images查看是否有拉取到的tomcat使用tomcat镜像创建容器(运行镜像)docker run -it -p 8080:8080 tomcat-p 主机端口:docker容器端口-P 随机分配端口i:交互t:终端Docke原创 2020-11-08 22:37:57 · 710 阅读 · 0 评论 -
ActiveMQ的多节点集群
概述基于zookeeper和LevelDB搭建ActiveMQ集群。集群仅提供主备方式的高可用集群功能,避免单点故障。集群实现方案基于shareFileSystem共享文件系统(KahaDB)基于JDBC基于可复制的LevelDBLevelDB,5.6版本之后推出了LecelDB的持久化引擎,它使用了自定义的索引代替常用的BTree索引,其持久化性能高于KahaDB,虽然默认的持久化方式还是KahaDB,但是LevelDB可能会是趋势。在5.9版本还提供了基于LevelDB和Zook原创 2020-11-06 23:00:56 · 838 阅读 · 3 评论 -
Mycat概述
一、概述是什么Mycat是数据库中间件数据库中间件中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。例子:Tomcat,web中间件。数据库中间件:连接java应用程序和数据库为什么要用Mycat?Java与数据库紧耦合高访问量高并发对数据库的压力读写请求数据不一致数据库中间件对比中间件名称描述CobarCobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线SQL原创 2020-10-21 17:19:58 · 291 阅读 · 0 评论 -
MySQL之索引分类
索引类型MySQL有多种索引类型,使⽤不同的⻆度,分类也有所不同。功能逻辑角度普通索引普通索引是基础的索引,没有任何约束,主要⽤于提⾼查询效率。示例:CREATE INDEX index_name ON table(column(length))唯一索引唯⼀索引就是在普通索引的基础上增加了数据唯⼀性的约束,索引列的值必须唯⼀,允许有NULL值。如果⼀个唯⼀索引同时还是个组合索引,那么表示列值的组合必须唯⼀。在⼀张数据表⾥可以有多个唯⼀索引。示例:CREATE UNIQUE INDEX i原创 2020-10-21 15:35:59 · 140 阅读 · 0 评论 -
MySQL主从复制配置过程(双主双从模式)
环境准备为了搭建MySQL数据库主从复制(双主双从模式),准备一下四台服务器,并明确了各节点的角色及IP地址。角色IP地址节点名称Master1192.168.67.140CentOS01Slave1192.168.67.130CentOS02Master2192.168.67.180CentOS04Slave2192.168.67.190CentOS05双主双从配置过程一、双主机配置1、Master1节点配置修改配置文件:vim /e原创 2020-10-13 15:12:40 · 1864 阅读 · 1 评论 -
MySQL主从复制配置过程(一主一从模式)
1、概述MySQL 的主从复制又叫 Replication、AB 复制。至少需要两个 MySQL 服务(可以是同一台机器,也可以是不同机器之间进行)。比如A服务器做主服务器,B服务器做从服务器,在A服务器上进行数据的更新,通过 binlog 日志记录同步到B服务器上,并重新执行同步过来的 binlog 数据,从而达到两台服务器数据一致。MySQL 数据库的主从复制方案,与使用 scp/rsync 等命令进行的文件级别复制类似,都是数据的远程传输。只不过 MySQL 的主从复制是其自带的功能,无需借助第原创 2020-08-27 16:23:00 · 1360 阅读 · 0 评论 -
MySQL高级篇:控制流函数
控制流函数case()函数如果满足WHEN分支中的条件,则返回THEN分支中的相应结果,否则返回ELSE分支中的结果CASE表达式是一个流控制结构,允许在查询中构造条件,例如:SELECT或WHERE子句。 MySQL提供了两种形式的CASE表达式case形式一CASE valueWHEN compare_value_1 THEN result_1WHEN compare_value_2 THEN result_2…ELSE result END如果value等于compare_v原创 2020-06-28 00:00:41 · 928 阅读 · 0 评论 -
MySQL数据库知识汇总
MySQL总结汇总,整理了包括MySQL数据库的基础知识,SQL优化、事务管理以及一些常见的问题,包含了作为一个Java工程师在面试中需要用到或者可能用到的基础性知识。一来为了加深学习印象,二来为以后面试做准备。后期会持续整理更深、更细、面试频率更高的知识点…序号整理内容内容链接1MySQL基础篇:位、字节和字符的关系https://blog.csdn.net/u012068483/article/details/1052575232MySQL基础篇:数据类型https原创 2020-05-22 15:08:50 · 254 阅读 · 0 评论 -
MySQL基础篇:事务管理
事务DCL 用来控制数据库的访问,包括如下 SQL 语句:GRANT:授予访问权限REVOKE:撤销访问权限COMMIT:提交事务处理ROLLBACK:事务处理回退SAVEPOINT:设置保存点LOCK:对数据库的特定部分进行锁定演示场景假如去银行给朋友汇款,我卡上有 1000 元,朋友卡上 500 元,我给朋友转账 50 元(无手续费),如果,我的钱刚扣,而朋友的钱又没加时,网线断了,怎么办?事务的 ACID 特性原子性(Atomicity):原子意为最小的粒子,或者说不能再分原创 2020-05-21 15:06:39 · 226 阅读 · 0 评论 -
MySQL番外篇:一条SQL查询语句是如何执行的?
在面试的过程中,有的面试官会给出一条简单的SQL查询语句,让简单说一下执行的过程。SELECT * FROM emp where age=30;以下问MySQL的基本架构图,从中可以看出SQL语句在MySQL的各个功能模块中的执行过程。MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,...原创 2020-04-19 22:26:16 · 174 阅读 · 0 评论 -
MySQL优化篇:锁机制
文章目录1、概述1.1 定义1.2 分类2、表锁(偏向于读操作)2.1 特点2.2 案例分析2.3 案例结论2.4 表锁分析3、行锁(偏向于写操作)3.1 特点3.2 案例分析3.3 案例结论3.4 行锁分析3.5 优化建议4、页锁1、概述1.1 定义锁是计算机协调多个进程或者线程并发访问某一资源的机制。在数据库中,除了传统的计算资源(CPU、RAM、I/O等)的争用之外,数据也是一种...原创 2020-04-19 13:01:33 · 250 阅读 · 0 评论 -
MySQL优化篇:数据准备
文章目录1、建表语句2、设置参数3、编写随机函数3.1 随机产生字符串3.2 随机产生部门编号4、创建存储过程4.1 创建往emp表中插入数据的存储过程4.2 创建往dept表中插入数据的存储过程5、调用存储过程5.1 添加数据到部门表5.2 添加数据到员工表为了后续学习MySQL相关的优化内容,需要准备大量相关的演示数据,为此学习如何通过批量的方式向MySQL数据库中插入数据。1、建表语句...原创 2020-04-18 20:56:51 · 272 阅读 · 1 评论 -
MySQL优化篇:排序分组优化
文章目录1、order by关键字排序优化1.1 无过滤不索引1.2 顺序错,必排序1.3 方向反,必排序1.4 索引的选择1.5 using filesort1.6 使用覆盖索引1.7 总结2、GROUP BY关键字优化where 条件和on的判断这些过滤条件,作为优先优化的部分,是要被先考虑的。其次,如果有分组和排序,那么也要考虑group by 和order by。1、order by...原创 2020-04-18 09:29:06 · 1826 阅读 · 0 评论 -
MySQL优化篇:IN VS EXISTS
1、优化原则:小表驱动大表,即小的数据集驱动大的数据集select * from A where id in (select id from B)以上SQL语句等价于:for select id from Bfor select * from A where A.id=B.id当B表的数据集必须小于A表的数据集时,用IN优于EXISTSselect * from A where e...原创 2020-04-17 15:41:31 · 640 阅读 · 0 评论 -
MySQL优化篇:慢查询日志
1、概念MySQL的慢查询日志是MySQL提供的一种日志记录,他用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些SQL抄错了我们的最大忍...原创 2020-04-15 16:35:11 · 289 阅读 · 0 评论 -
MySQL优化篇:SQL优化流程
MySQL中SQL优化流程SQL优化流程如下:慢查询的开启并捕获explain+慢SQL分析show profile查询SQL在MySQL服务器里面的执行细节和生命周期情况SQL数据库服务器的参数调优...原创 2020-04-13 12:44:32 · 282 阅读 · 0 评论 -
MySQL优化篇:show profile进行SQL分析
文章目录1、SQL调优和排查的大体流程2、show profile是什么3、show profile分析步骤(1)是否支持,看看当前的MySQL版本是否支持(2)开启功能,默认是关闭,使用前需要开启(3)运行SQL(4)查看结果,show profiles(5)诊断SQL,show profile cpu, block io for query 上一步前面的问题SQL数字号码(6)日常开发需要注意...原创 2020-04-13 11:17:50 · 483 阅读 · 0 评论 -
MySQL优化篇:单表索引失效
文章目录1、准备环境2、全值匹配我最爱2、最佳作前缀法则3、不要在索引列上做任何计算3.1 在查询列上使用了函数3.2 在查询列上做了转换4、索引列上不能有范围查询5、尽量使用覆盖索引6、使用不等于(!=或者<>)的时候7、字段的is not null和is null8、like的前后模糊匹配9、减少使用or10、索引使用口诀11、索引示例巩固1、准备环境建表并插入数据CREA...原创 2020-04-12 16:43:33 · 356 阅读 · 0 评论 -
MySQL基础篇:逻辑架构
文章目录1、整体结构图1.1 连接层1.2 服务层1.2.1 Management Services & Utilities1.2.2 SQL Interface1.2.3 Parser1.2.4 Optimizer1.2.5 Cache 和Buffer1.3 引擎层1.4 存储层2、架构特点1、整体结构图和其他数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发...原创 2020-04-11 11:55:04 · 178 阅读 · 1 评论 -
MySQL优化篇:索引
文章目录1、概念1.1 是什么1.2 优缺点2、MySQL的索引2.1 Btree索引2.2 B+Tree索引3、MySQL索引分类3.1 单值索引(普通索引)3.2 唯一索引3.3 主键索引3.4 复合(组合)索引3.5 基本语法4、索引创建的时机4.1 适合创建索引的情况4.2 不适合创建索引的情况1、概念1.1 是什么MySQL对索引的定义:索引(Index)是帮助MySQL高效获取...原创 2020-04-10 21:32:36 · 200 阅读 · 0 评论 -
MySQL优化篇:explain性能分析
文章目录1、概念2、explain能干什么3、使用方式4、准备工作5、各字段解释5.1、id5.2、select_type5.3、table5.4、type5.5、possible_keys5.6、key5.7、key_len5.8、ref5.9 rows5.10、Extra1、概念使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析查...原创 2020-04-09 22:23:42 · 287 阅读 · 0 评论 -
MySQL基础篇:子查询
文章目录概述where型子查询from型子查询EXISTS型子查询复制表子查询概述在某些情况下,当进行一个查询时,需要的条件或数据要用另一个select语句的结果,这个时候,就要用到**子查询**。为了给主查询(外部查询)提供数据而首先执行的查询(内部查询)被叫做子查询一般根据子查询的嵌入位置分为:where型子查询、from型子查询、exists型子查询。说明:以下相关的演示SQL...原创 2020-04-08 19:22:21 · 228 阅读 · 0 评论 -
MySQL基础篇:SELECT几种子句
文章目录1、概述2、where 条件查询3、group by 分组查询常用的聚合函数group by + 聚合函数4、having筛选5、order by 排序6、limit 分页1、概述在MySQL的查询中,select主要有5中子句类型,主要包括where 条件查询group by 分组查询having 筛选order by 排序limit 分页2、where 条件查询...原创 2020-04-08 16:58:56 · 784 阅读 · 0 评论 -
MySQL基础篇:单行函数
概述MySQL数据库提供了很多函数包括:数学函数字符串函数日期和时间函数条件判断函数流程控制函数系统信息函数加密函数格式化函数数学函数函数名称函数说明ABS(x)返回x的绝对值CEIL(x)返回大于x的最小整数值FLOOR(x)返回大于x的最大整数值MOD(x,y)返回x/y的模RAND(x)返回0~1的随机值R...原创 2020-04-08 00:00:31 · 135 阅读 · 0 评论 -
MySQL基础篇:sql_mode配置
文章目录零、简介一、sql_mode常用来解决的几类问题二、sql_mode包含的模式三、sql_mode各个选项作用示例3.1、sql_mode为空(对于不符合定义的值,会截断到符合定义类型)3.2、sql_mode为ANSI3.3、sql_mode为TRADITIONAL3.4、sql_mode为STRICT_TRANS_TABLES四、sql_mode选项说明五、sql_mode设置零、...原创 2020-04-06 23:39:10 · 6288 阅读 · 1 评论 -
MySQL基础篇:数据定义语言DDL
文章目录1、介绍2、操作数据库Database创建数据库查看有哪些数据库删除数据库选择数据库查看当前正在使用哪个数据库3、表结构的操作查看当前数据库的所有表创建表结构查看表结构删除表结构修改表结构约束:CONSTRAINTS自增列:AUTO_INCREMENT1、介绍DDL(Data Definition Languages):数据定义语言,这些语言定义了不同的数据段、数据库、表、列、索引等...原创 2020-04-03 22:48:21 · 256 阅读 · 0 评论 -
MySQL基础篇:设置大小写不敏感
MySQL之设置大小写不敏感查看大小写是否敏感:show variables like '%lower_case_table_names%';windows系统默认大小写不敏感,但是linux系统是大小写敏感的设置大小写不敏感在my.cnf配置文件中[mysqlId]中加入lower_case_table_names=1,然后重启服务器属性设置说明0大小写敏...原创 2020-04-03 22:43:23 · 1785 阅读 · 0 评论 -
MySQL基础篇:用户和权限管理
MySQL数据库之用户和权限管理1、MySQL用户管理相关命令命令说明备注create user htzw identified by ‘ABC.123456’创建名称为htzw的用户,密码为ABC.123456select host,user,password,select_priv,insert_priv,drop_priv from mysql.user...原创 2020-04-03 22:42:23 · 185 阅读 · 0 评论 -
MySQL番外篇:INT、CHAR以及VARCHAR数据类型中M的含义
MySQL中INT、CHAR以及VARCHAR数据类型中M的含义在MySQL数据库使用过程中,对于int(M)、tinyint(M)、char(M)、varchar(M)等,这个M值到底代表什么意思呢?区别char(M)M表示长度,固定M宽度的字符,不足用空格补齐,取出数据时会删掉尾部的空格;varchar(M)M表示长度,不固定,有多少字符就存多少字符,不会删除尾部的空格;int(...原创 2020-04-03 22:40:27 · 1265 阅读 · 0 评论 -
MySQL基础篇:数据类型
文章目录1、整型(xxxint)2、浮点型3、位类型4、定点型5、字符串型6、枚举(ENUM)7、集合(SET)8、特殊的NULL类型常见的数据类型有:整型(xxxint)位类型(bit)浮点数(float和double、real)定点数(decimal、numeric)日期时间类型(date、time、datetime、year)字符串(char、varchar、xxxtext...原创 2020-04-02 22:17:00 · 247 阅读 · 0 评论 -
MySQL优化篇:执行计划explain中key_len计算方式
概述key_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在使用联合索引的时候,判断该索引有多少部分被使用到非常重要。准备结构和数据在MySQL数据库中,新建表,表名为key_len_demoCREATE TABLE `key_len_demo` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` C...原创 2020-04-02 15:22:33 · 2786 阅读 · 1 评论 -
MySQL优化篇:SHOW语法
文章目录1、简介2、语法总结2.1 常用命令2.2 show variables命令2.3 show index 命令2.4 show status命令1、简介show命令可以提供关于数据库、表、列,或者关于服务器的状态信息。2、语法总结2.1 常用命令**1)显示mysql中所有数据库的名称show databases;2)查看mysql用户的使用权限show grants f...原创 2020-04-01 23:31:34 · 496 阅读 · 0 评论 -
MySQL基础篇:位、字节和字符的关系
零、 目的为了深入的学习MySQL数据库的相关知识,在学习MySQL数据库中数据类型之前,先总结一下位、字节、字符的关系,避免弄混。一、位位(bit)是计算机内部数据存储的最小单位。8个“位”构成一个字节(byte)。二、字节字节(byte)是计算机中数据处理的基本单位,习惯上用大写B来表示。字节是内存的基本单位,也是编址单位。1B(byte,字节)=8bit(位)三、字符字符是指...原创 2020-04-01 22:24:25 · 1741 阅读 · 0 评论