![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL数据库
席剑啊~
无- -
展开
-
Mycat--安装启动及配置读写分离、分库分表
一、Mycat简介Mycat是个数据库中间件,前身是阿里的cobar。利用Mycat可以对数据库集群进行管理。可以进行1.读写分离2.数据分片垂直拆分(分库)水平拆分(分表)垂直+水平拆分(分库分表)3.多数据源整合Mycat的原理:拦截。它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将...原创 2019-12-29 17:46:00 · 221 阅读 · 0 评论 -
MySQL--主从复制搭建
一、主从复制的原理1 master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events;2 slave将master的binary log events拷贝到它的中继日志(relay log);3 slave重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的这里与Redis主从复制的数据...原创 2019-12-29 11:29:19 · 132 阅读 · 0 评论 -
MySQL优化--关联查询、子查询、排序分组的优化
一、关联查询的优化在做join的时候,原理为驱动表(主表)做全表扫描,对子表(被驱动表)可以利用索引进行优化,而驱动表的全表扫描是必须存在的。建表sql CREATE TABLE IF NOT EXISTS `class` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,`card` INT(10) UNSIGNED NOT NUL...原创 2019-12-25 15:44:01 · 1450 阅读 · 0 评论 -
MySQL优化---单表索引失效原因及优化策略
一、数据准备往表里插50W数据以测试我们的SQL建表语句 CREATE TABLE `dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `address` VARCHAR(40) DEFAULT NULL, ceo INT NULL , PRIMARY KEY...原创 2019-12-24 18:40:50 · 451 阅读 · 0 评论 -
MySQL优化---常见的性能瓶颈以及Explain详解
一、MySQL常见性能瓶颈CPU方面:SQL中对大量数据进行比较、关联、排序、分组。IO方面:实际内存满足不了缓存数据或排序等需要,导致产生大量的物理I/O操作。锁:不适宜的锁设置,导致线程阻塞性能下降。死锁,线程之间交叉调用资源导致死锁,程序卡住。服务器硬件的性能瓶颈:可以通过top free iostat 和 vmstat来查看系统的性能状态。二、Explain1.Ex...原创 2019-12-23 21:23:23 · 1939 阅读 · 0 评论 -
Mysql优化---基于索引优化(B-Tree与B+Tree)
一、索引是什么?1.MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构,即索引的本质是一种数据结构。可以简单理解为:排好序的快速查找数据结构详解:在数据之外,数据库系统还维护着满足特定查找算法的数据结构---索引,这些数据结构是以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级的查找算法。左边是数据表,一共有两列七行数据,最左边存...原创 2019-12-21 16:01:46 · 504 阅读 · 0 评论 -
MySQL优化---可能导致性能下降的几个原因以及常用Join查询
1.SQL执行慢,执行时间长,等待时间长的原因1.1查询数据过多1.2关联了太多表,用了太多的join:join查询的原理,是用A表的每一条数据都去扫描B表的每一条数据。1.3没有利用到索引索引分为单值索引和复合索引单值索引创建:create index idx_user_id on user(id)复合索引创建:create index idx_user_id...原创 2019-12-19 22:08:26 · 520 阅读 · 0 评论 -
MySQL优化--逻辑架构介绍及其存储引擎
1.逻辑架构介绍和其他数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上。插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取相分离。这种架构可以根据业务需求和实际需要选择合适的存储引擎。1.1连接层最上层是一些客户端和连接服务,包含本地socket通信和大多数基于客户端/服务端工具(Navicat等)实现...原创 2019-12-19 18:20:27 · 260 阅读 · 0 评论 -
Mysql优化---Linux下配置文件详解
1.Mysql主要配置文件1.1 二进制日志 log-bin:用于主从复制及备份恢复,存放了所有的操作记录,相当于redis中的AOF。my.cnf中的log-bin配置(默认关闭)1.2错误日志 log-error:默认关闭,记录了严重的警告和错误信息,以及每次启动和关闭的详细日志信息。1.3慢查询日志log:默认关闭,记录查询的sql语句,如果开启会降低Mysql的整体性能...原创 2019-12-19 14:43:44 · 855 阅读 · 0 评论 -
Linux(centos下)进行Mysql的详细安装和配置步骤
官网下载地址:http://dev.mysql.com/downloads/mysql/1.拷贝并解压缩,得到安装的rpm文件2.检查当前系统是否安装过Mysqlrpm -qa | grep mysql如果存在mysql-libs的旧版本包如下:请先执行卸载命令:rpm -e --nodeps mysql-libs3.由于mysql安装过程中,会通过mysql...原创 2019-12-18 21:29:24 · 333 阅读 · 0 评论 -
2019北京培训:MySQLday1
1.基本概念1)数据库:以某种方式保存数据的集合2)数据库应用程序:使用数据库的方式保存数据,以其他语言开发的程序。3)数据库管理系统:管理数据库的软件,可以对数据库进行增删查改、备份等。例如MySQL、Oracle4)数据库管理员:管理和维护数据库管理系统的人员5)数据库开发工程师:使用数据库开发应用程序的工程师2.数据库的分类1)传统的数据库:关系型数据库SQL...原创 2019-01-16 20:45:11 · 3836 阅读 · 3 评论 -
2019北京培训:MySQL day3(索引、视图、事务以及设计规范)
1.视图手动创建一张虚表,可以简化查询语句。创建视图:create view 视图名 as 查询语句删除视图:drop view 视图名使用方法:和普通表使用方式一致。注意:(1)使用视图只能简化查询语句,不能提高查询效率(2)只能查询,不能修改数据作用:安全,隐藏真实的表名 #连接查询 select t.id,t.name,t.sex,t.bir...原创 2019-01-18 19:15:05 · 254 阅读 · 0 评论 -
2019北京培训:MySQLday2(select高级查询)
1.查询语句只查询符合条件的数据Select 字段,字段 from 表名 where 条件 #等值查询 select * from t_student where id=2; select * from t_student where name='lisi'; #不等值查询 > >= < <= != <> sel...原创 2019-01-17 21:01:59 · 341 阅读 · 0 评论 -
十六、存储过程、触发器
存储过程存储过程概念存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译(效率比较高),用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象(针对SQL编程而言)。 存储过程:简称过程与函数的区别相同点1、 存储过程和函数目的都是为了可重复地...原创 2018-06-06 21:27:40 · 309 阅读 · 0 评论 -
十五、变量、函数
变量Mysql本质是一种编程语言,需要很多变量来保存数据。Mysql中很多的属性控制都是通过mysql中固有的变量来实现的。系统变量系统内部定义的变量,系统变量针对所有用户(MySQL客户端)有效。查看系统所有变量:show variables [like ‘pattern’]; Mysql允许用户使用select查询变量的数据值(系统变量)基本语法:select @@变量名; 修改系统变量:...原创 2018-06-06 21:25:03 · 226 阅读 · 0 评论 -
十四、用户权限管理、外键、视图、事务
用户权限管理用户权限管理:在不同的项目中给不同的角色(开发者)不同的操作权限,为了保证数据库数据的安全。 通常,一个用户的密码不会长期不变,所以需要经常性的变更数据库用户密码来确保用户本身安全(mysql客户端用户) 用户管理Mysql需要客户端进行连接认证才能进行服务器操作:需要用户信息。Mysql中所有的用户信息都是保存在mysql数据库下的user表中。 默认的,在安装Mysql的时候,如...原创 2018-06-06 21:20:25 · 528 阅读 · 0 评论 -
一、数据库简介
数据库概念数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库:存储数据的仓库数据库分类网络数据库网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互。层级数据库层次结构模型实质上是一种...原创 2018-05-21 19:17:19 · 545 阅读 · 0 评论 -
二、mysql基本介绍
MySQL基本介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 AB公司被Sun公司收购---》Oracle又收购了Sun公司...原创 2018-05-21 19:20:26 · 420 阅读 · 0 评论 -
三、mysql的登陆与退出
登录和退出MySQL系统通过客户端(mysql.exe)与服务器进行连接认证,就可以进行操作通常:服务端与客户端不在同一台电脑上 登录1、 找到mysql.exe(通过cmd控制台:如果在安装的时候指定了mysql.exe所在的路径为环境变量,就可以直接访问;如果没有,那么就必须进入到mysql.exe所在路径)2、 输入对应的服务器地址:-h:host -h[IP地址/域名]3、 输入服务器中...原创 2018-05-21 19:21:35 · 1085 阅读 · 0 评论 -
四、mysql服务端架构
Mysql服务端架构 Mysql服务端架构有以下几层构成: 1、 数据库管理系统(最外层):DBMS,专门管理服务器端的所有内容2、 数据库(第二层):DB,专门用于存储数据的仓库(可以有很多个)3、 二维数据表(第三层):Table,专门用于存储具体实体的数据4、 字段(第四层):Field,具体存储某种类型的数据(实际存储单元) 数据库中常用的几个关键字Row:行Column:列(field)...原创 2018-05-21 19:22:13 · 182 阅读 · 0 评论 -
五、数据库操作(对数据库的增删查改)
数据库基本操作数据库是数据存储的最外层(最大单元) 创建数据库基本语法:create database 数据库名字 [库选项]; 库选项:数据库的相关属性字符集:charset 字符集,代表着当前数据库下的所有表存储的数据默认指定的字符集(如果当前不指定,那么采用DBMS默认的)校对集:collate 校对集Create database 数据库名字 charset 字符集名称; 显示数据库每当用...原创 2018-05-21 19:25:02 · 555 阅读 · 0 评论 -
六、数据表操作(对表的增删查改)
数据表操作创建数据表普通创建表基本语法:create table 表名(字段名 字段类型 [字段属性], 字段名 字段类型 [字段属性],…) [表选项] 以上错误说明:表必须放到对应的数据库下:有两种方式可以将表挂入到指定的数据库下1、 在数据表名字前面加上数据库名字,用“.”连接即可:数据库.数据表 2、在创建数据表之前先进入到某个具体的数据库即可:use 数据库名字; 表选项:与数据库选项...原创 2018-05-21 19:28:37 · 448 阅读 · 0 评论 -
七、数据基础操作(对表中数据的增删查改)
数据基础操作插入操作本质含义:将数据以SQL的形式存储到指定的数据表(字段)里面 基本语法:向表中指定字段插入数据Insert into 表名[(字段列表)] values(对应字段列表) 1、 注意:后面(values中)对应的值列表只需要与前面的字段列表相对应即可(不一定与表结构完全一致) 2、 注意:字段列表并不一定非要有所有的表中字段 基本语法:向表中所有字段插入数据Insert into...原创 2018-05-21 19:30:32 · 203 阅读 · 0 评论 -
八、字符集
字符集字符编码概念字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。在计算机中所看到的任何内容都是字符构成的。 字符编码(character code)是计算机针对各种符号,在计算机中的一种二进制存储代号。 字符集概念字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同。 常见字符集名称:ASCII字符集、...原创 2018-05-21 19:32:30 · 310 阅读 · 0 评论 -
九、列类型(字段类型)
列类型(字段类型)整数类型Tinyint迷你整形,系统采用一个字节来保存的整形:一个字节 = 8位,最大能表示的数值是0-255Smallint小整形,系统采用两个字节来保存的整形:能表示0-65535之间Mediumint中整形,采用三个字节来保存数据。Int整形(标准整形),采用四个字节来保存数据。Bigint大整形,采用八个字节来保存数据。 1、 创建数据表 2、 插入合理数据 3、 插入错...原创 2018-05-23 21:49:19 · 2486 阅读 · 0 评论 -
十、列属性、主键、自动增长、唯一键
列属性 列属性又称之为字段属性,在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自动增长Null属性NULL属性:代表字段为空如果对应的值为YES表示该字段可以为NULL 注意:1、 在设计表的时候,尽量不要让数据为空2、 Mysql的记录长度为65535个字节,如果一个表中有字段允许为NULL,那么系统就会设计保留一个字节来存储NULL,最终有效存储长度为65534个字节。...原创 2018-05-23 21:56:29 · 3290 阅读 · 0 评论 -
十一、高级数据操作(数据的增删查改)
高级数据操作新增数据多数据插入只要写一次insert指令,但是可以直接插入多条记录基本语法:insert into 表名 [(字段列表)] values(值列表), (值列表)…; 主键冲突主键冲突:在有的表中,使用的是业务主键(字段有业务含义),但是往往在进行数据插入的时候,又不确定数据表中是否已经存在对应的主键。 主键冲突的解决方案:1、 主键冲突更新:类似插入数据语法,如果插入的过程中主键冲...原创 2018-06-06 20:55:51 · 193 阅读 · 0 评论 -
十二、运算符、联合查询
查询中的运算符算术运算符+、-、*、/、% 基本算术运算:通常不在条件中使用,而是用于结果运算(select 字段中) 比较运算符>、>=、<、<=、=、<>通常是用来在条件中进行限定结果=:在mysql中,没有对应的 ==比较符号,就是使用=来进行相等判断<=>:相等比较 特殊应用:就是在字段结果中进行比较运算 在条件判断的时候,还有有对应的...原创 2018-06-06 20:58:44 · 964 阅读 · 0 评论 -
十三、子查询、整库备份与还原
子查询什么是子查询 子查询概念子查询:sub query 子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。 子查询:指在一条select语句中,嵌入了另外一条select语句,那么被嵌入的select语句称之为子查询语句。 主查询概念主查询:主要的查询对象,第一条select语句,确定的用户所有获取的数据目标(数据源),以...原创 2018-06-06 21:14:02 · 155 阅读 · 0 评论 -
MySQL数据库命令行操作
、连接Mysql格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYS...原创 2018-05-08 09:46:21 · 513 阅读 · 0 评论