MYSQL基础知识
anzhen0429
这个作者很懒,什么都没留下…
展开
-
MySQL 体系结构
序最近一直在忙项目,各种加班加点,项目上线,渐渐的没有了学习的时间。这不,刚这几天才能抽出点时间,忙里偷闲,正在看一本数据库的书籍,相信很多小伙伴们也都看过 — — 《MySQL 技术内幕:InnoDB 存储引擎》。这本书很详细的讲述了 MySQL 的设计思想,体系结构,存储引擎,索引,事务,以及对性能的调优等。当然,现在我也是刚刚看了一部分,至于现在写这篇文章,主要是为了记录一下我的转载 2017-07-31 21:53:06 · 299 阅读 · 0 评论 -
MySQL存储过程中的3种循环
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环。还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体介绍了。这几个循环语句的格式如下:WHILE……DO……END WHILEREPEAT……UNTIL END REPEATLOOP……END LOOPGOTO。 下面首先使用第一种循环编写一个...转载 2018-06-06 12:29:21 · 1854 阅读 · 0 评论 -
MySQL源代码阅读调试 - 1. 环境搭建
最近需要阅读下MySQL源代码,所以写这系列博客记录下。 搭调试环境真是比较蛋疼,公司基本Java开发,这里回到C++。。。 用了两天晚上,尝试了VS2013,Eclipse CDT,CodeBlock还有GDB。 GDB比较好搭建,将带Boost库的源代码扔到虚拟机(CentOS 7.0,安装配置桌面web服务器开发机配置,什么软件都装齐了)上,GDB命令搞得飞起。但是,GDB还是比较反人类...转载 2018-06-01 19:30:34 · 10457 阅读 · 0 评论 -
数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则...转载 2018-07-06 18:07:34 · 148 阅读 · 0 评论 -
Mysql怎么判断繁忙,innodb的主要参数,checkpoint机制,show engine innodb status
show engine innodb status G四个参数能反应出来什么Checkpoint详解引子check point是做什么的作用Checkpoint所做的事情checkpoint分类checkpoint的具体解释Sharp Checkpoint完全检查点Fuzzy Checkpoint模糊检查点Fuzzy checkpoint工作过程Fuzzy Checkpoint又分为4种1...原创 2018-07-13 15:45:36 · 1518 阅读 · 2 评论 -
mysql innodb架构
innodb架构主要由:后台线程、内存池、物理文件组成,此处附图一张:一、后台线程1)Master ThreadMaster Thread 是一个非常核心的线程,主要负责将缓存池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页数据、合并插入缓存、undo页的回收等。2)IO Thread InnoDB 存储引擎大量使用了AIO来处理IO请求,这样可以提高数据库的性能。IO Thread主要负责这...原创 2018-07-07 21:48:10 · 757 阅读 · 0 评论 -
MYSQL-锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种 供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个 角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MyS...转载 2018-08-10 16:18:23 · 409 阅读 · 0 评论 -
mysql之show engine innodb status解读
innodb存储引擎在show engine innodb status(老版本对应的是show innodb status)输出中,显示除了大量的内部信息,它输出就是一个单独的字符串,没有行和列,内容分为很多小段,每一段对应innodb存储引擎不同部分的信息,其中有一些信息对于innodb开发者来说非常有用,但是,许多信息,如果你尝试去理解,并且应用到高性能innodb调优的时候,你会发现它...转载 2019-01-17 17:10:43 · 220 阅读 · 0 评论 -
详细分析MySQL的日志(一)
本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9001061.html强烈谴责大量盗文狗:波波说运维,说不定你们的文章也已被抄袭官方手册:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html不管是哪个数据库产品,一定会有日志文件。在MariaDB/MySQL中,主要有...转载 2019-08-19 18:24:40 · 286 阅读 · 0 评论 -
MariaDB字符集和排序规则
本文为mariadb官方手册:SETTING CHARACTER SETS AND COLLATIONS的译文。原文:https://mariadb.com/kb/en/setting-character-sets-and-collations/我提交到MariaDB官方手册的译文:https://mariadb.com/kb/zh-cn/setting-character-sets-and...原创 2019-08-15 16:20:37 · 1345 阅读 · 0 评论 -
MySQL中间件之ProxySQL(1):简介和安装和读写分离
本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9278818.html强烈谴责大量盗文狗:波波说运维,说不定你们的文章也已被抄袭返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html1.ProxySQL简介之前的文章里,介绍了一个MySQL的中间件:MyS...转载 2019-08-21 11:37:04 · 335 阅读 · 0 评论 -
数据库性能测试:sysbench用法详解
1.简介和安装sysbench是一个很不错的数据库性能测试工具。官方站点:https://github.com/akopytov/sysbench/rpm包下载:https://packagecloud.io/akopytov/sysbench/packages/el/7/sysbench-1.0.15-1.el7.centos.x86_64.rpm源码包下载:https://gi...原创 2019-08-16 10:50:30 · 2462 阅读 · 0 评论 -
MySQL_sharding:谁都能读懂的分库、分表、分区
1.sharding前的初始数据分布在本文中,我打算用高考考生相关信息作为实验数据。请无视表的字段是否符合现实,也请无视表的设计是否符合范式。3张表:考生表,存放全国所有高考考生信息,假设34个省、(直辖)市、(自治区、特别行政)区共3000W考生 学科表,分文理科,共9门课程(语文、数学、英语、历史、地理、政治、物理、化学、生物) 成绩表,存过全国所有考生所有学科成绩,每个学生6...原创 2019-08-16 11:26:21 · 316 阅读 · 0 评论 -
MySQL的 SQL逻辑查询语句执行顺序
最后,这篇文章是我读《MySQL技术内幕:SQL编程》而总结出来的,对于书中有的东西讲的比较“粗”,可能是我的水平没有达到人家作者要求的水平,导致阅读起来,不是很舒服,所以,这篇博文,将会非常细致的进行总结。只有你想不到,没有你做不到。能看懂么?先来一段伪代码,首先你能看懂么?SELECT DISTINCT <select_list>FROM <left_table>&...转载 2018-06-06 12:26:02 · 246 阅读 · 0 评论 -
mysql中文乱码解决方案
一 问题描述当往表里插入中文数据时,报错:mysql> insert into t(id,nam) values(1,'丹丹');ERROR 1366 (HY000): Incorrect string value:'\xE4\xB8\xB9\xE4\xB8\xB9' for column 'nam' at row 1二 出错原因该表或者列的字符集与当前连接的字符集不同导致。[sql] vi...转载 2018-06-05 18:34:48 · 190 阅读 · 0 评论 -
MySQL删除重复记录的方法
MySQL删除重复记录是我们经常用到的操作,下面为您介绍了5种MySQL删除重复记录的方法,如果您感兴趣的话,不妨一看。1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId havi转载 2017-07-30 14:30:20 · 482 阅读 · 0 评论 -
MySQL日志管理详解
日志文件对于一个服务器来说是非常重要的,它记录着服务器的运行信息,许多操作都会写日到日志文件,通过日志文件可以监视服务器的运行状态及查看服务器的性能,还能对服务器进行排错与故障处理,MySQl中有六种不同类型的日志。一、日志种类———–> 1,错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。———–> 2,一般查询日志:记录建立的客户端连接和执行的语句。—转载 2017-09-13 21:22:27 · 374 阅读 · 0 评论 -
MySQL系统架构
一.逻辑模块组成总的来说,MySQL 可以看成是二层架构,第一层我们通常叫做SQL Layer,在MySQL 数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,sql 解析,执行计划优化,querycache 的处理等等;第二层就是存储引擎层,我们通常叫做Storage Engine Layer,也就是底层数据存取操作实现部分,由多种存储引擎共同组成。所以,可以用如转载 2017-09-13 22:07:29 · 621 阅读 · 0 评论 -
MySQL架构与概念
第一章、MySQL架构与概念1、MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。最下面是存储引擎,它负责存取数据。服务器通过storage engine API可以和各种存储引擎进行转载 2017-09-15 21:58:01 · 271 阅读 · 0 评论 -
mysql之show engine innodb status解读
注:以下内容为根据《高性能mysql第三版》和《mysql技术内幕innodb存储引擎》的innodb status部分的个人理解,如果有错误,还望指正!! innodb存储引擎在show engine innodb status(老版本对应的是show innodb status)输出中,显示除了大量的内部信息,它输出就是一个单独的字符串,没有行和列,内容分为很多小段,每一段对应in转载 2017-09-16 23:38:21 · 546 阅读 · 0 评论 -
MySQL InnoDB四个事务级别 与 脏读、不重复读、幻读
1、MySQL InnoDB事务隔离级别脏读、可重复读、幻读MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。· 1).未提交读(READUNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)( 隔离级别最低,并发性能高 )。· 2).转载 2017-09-18 20:30:07 · 615 阅读 · 0 评论 -
mysql聚集索引的优缺点
聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(不是数据结构,而是存储结构),具体细节依赖于其实现方式,但innodb的聚簇索引实际上是在同一个结构中保存了btree索引和数据行。 当表有索引时,它的数据行实际上存放在索引的叶子页中,属于聚簇表示数据行和相邻的键值紧凑地存储在一起,因为无法同时把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引。因为是存储引擎负责实现索引,因此原创 2017-09-18 21:39:30 · 595 阅读 · 0 评论 -
MySQL的聚集索引和非聚集索引
MySQL的聚集索引和非聚集索引一. MYSQL的索引mysql中,不同的存储引擎对索引的实现方式不同,大致说下MyISAM和InnoDB两种存储引擎。MyISAM的B+Tree的叶子节点上的data,并不是数据本身,而是数据存放的地址。主索引和辅助索引没啥区别,只是主索引中的key一定得是唯一的。这里的索引都是非聚簇索引。MyISAM还采用压缩机制存储索引,比转载 2017-09-19 19:45:28 · 1147 阅读 · 0 评论 -
MySql的flush用法
MySQL的FLUSH句法今天仔细看了下Flush语法,同时在工作中也经常使用Flush命令,在这儿汇总下。MySQL的FLUSH句法(清除或者重新加载内部缓存) FLUSH flush_option [,flush_option],如果你想要清除一些MySQL使用内部缓存,你应该使用FLUSH命令。为了执行FLUSH,你必须有reload权限。flush_option 可以是下列原创 2017-10-20 15:28:35 · 402 阅读 · 0 评论 -
mysql grant 用户权限总结
用户权限管理主要有以下作用: 1. 可以限制用户访问哪些库、哪些表 2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户一、用户授权mysql> grant all privileges on *.* to 'yangxin'@'原创 2017-10-20 16:24:43 · 119356 阅读 · 10 评论 -
MySQL日期数据类型、时间类型使用总结
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- -----------------------------------------datetime 8 bytes转载 2017-10-13 15:31:24 · 362 阅读 · 0 评论 -
mysql优化——show processlist命令详解
SHOW PROCESSLIST显示哪些线程正在运行不在mysql提示符下使用时用mysql -uroot -e 'Show processlist' 或者 mysqladmin processlist如果您有root权限,您可以看到所有线程。否则,您只能看到登录的用户自己的线程,通常只会显示100条如果想看跟多的可以使用full修饰(show full proce转载 2017-11-29 16:37:45 · 327 阅读 · 0 评论 -
Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下: ?123456789101112+--------------------------+----------------------原创 2017-11-29 16:46:47 · 3138 阅读 · 0 评论 -
MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述
MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述分类:数据库系列undefined转载请务必在文章最开头标明原文地址本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9013458.html强烈谴责大量盗文狗:波波说运维,说不定你们的文章也已被抄袭MariaDB/MySQL备份恢复系列:备份和...转载 2019-08-16 11:57:53 · 264 阅读 · 0 评论