自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

转载 GTID模式介绍!

MySQL GTID Replication:从MySQL5.6开始增加了强大的GTID(Global Transaction ID,全局事务ID)这个特性,用来强化数据库的主备一致性, 故障恢复, 以及容错能力。用于取代过去传统的主从复制(即:基于binlog和position的异步复制)。借助GTID,在发生主备切换的情况下,MySQL的其他slave可以自动在新主上找到正确的复制位置,这大大简化了复杂复制拓扑下集群的维护,也减少了人为设置复制position发生误操作的风险。另外,基于GTID

2020-06-15 07:36:47 379

原创 liunx系统下二进制安装mysql5.7

记下犯下的错误。1、linux版mysql安装包,类似于mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz格式。2、把软件包解压放在/usr/local/mysql目录。tar -xvfmysql-5.7.28-linux-glibc2.12-x86_64.tar.gzcp -rfmysql-5.7.28-linux-glibc2.12-x...

2020-01-09 05:13:31 211

原创 重做日志

在默认情况下,在innodb存储引擎的数据目录下会有两个名为ib_logfile0和ib_logfile1的文件。在MYSQL官方手册中将其称为innodb存储引擎的日志文件,不过准确的定义应该是重做日志文件(redo log file).当实例或介质失败时,重做日志文件就能派上用场。例如,数据库由于所在主机掉电导致实例失败,innodb存储引擎会使用重做日志回复到掉电前的时刻,以此来保证数据...

2019-12-23 18:46:49 321

原创 动态系统变量

许多服务器系统变量是动态的,可以在运行时设置。有关设置系统变量的权限要求的说明,seeSection5.1.8.1, “System Variable Privileges”表列出了mysqld中适用的所有动态系统变量。该表列出了每个变量的数据类型和范围。最后一列指示每个变量的作用域是全局的、会话的还是两者都是。有关设置和使用变量的详细信息,请参见相应的项目说明。在适当的情况下,将提...

2019-12-21 05:07:27 289

原创 优化-索引

提高SELECT操作性能的最佳方法是在查询中测试的一个或多个列上创建索引。索引项的作用类似于指向表行的指针,允许查询快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列值。所有MySQL数据类型都可以被索引。尽管为查询中使用的每个可能的列创建索引很有诱惑力,但不必要的索引会浪费MySQL确定要使用哪些索引的空间和时间。索引还增加了插入、更新和删除的成本,因为每个索引都必须更新。必须...

2019-12-20 04:46:03 192

原创 User-Defined Variables

您可以将值存储在一个语句中的用户定义变量中,然后在另一个语句中引用它。这使您能够将值从一个语句传递到另一个语句。用户变量被写为@var_name,其中变量名由字母数字字符、.(点)、_和$组成。如果将用户变量名称作为字符串或标识符(例如,@'my-var',@"my-var", or@`my-var`)引用,则它可以包含其他字符。用户定义的变量是特定于会话的。一个客户端定义的用户变量...

2019-12-19 03:13:38 634

原创 InnoDB Configuration-startup

目录在MySQL配置文件中指定选项查看InnoDB初始化信息重要的存储注意事项系统表空间数据文件配置重做日志文件配置Undo Tablespace ConfigurationTemporary Tablespace ConfigurationPage Size ConfigurationMemory Configuration关于InnoDB配置的第一个决...

2019-12-18 01:05:22 199

原创 InnoDB磁盘结构-其他

目录Doublewrite BufferRedo LogUndo LogsDoublewrite Bufferdoublewrite缓冲区是系统表空间中的一个存储区域,InnoDB在将从缓冲池中刷新的页面写入数据文件中的适当位置之前,将它们写入其中。只有在刷新页面并将其写入doublewrite缓冲区之后,InnoDB才会将页面写入其正确的位置。如果在页面写入过程中出现操...

2019-12-14 22:57:51 207

原创 InnoDB磁盘结构-表空间

目录系统表空间File-Per-Table Tablespaces通用(General)表空间Undo Tablespaces临时表空间系统表空间系统表空间是InnoDB数据字典、doublewrite缓冲区、change缓冲区和undo日志的存储区域。如果表是在系统表空间中创建的,而不是在每个表或常规表空间中创建文件,则它还可能包含表和索引数据。系统表空间可...

2019-12-14 21:56:34 1001

原创 InnoDB磁盘结构-索引

目录聚集索引和二级索引InnoDB索引的物理结构排序索引构建InnoDB全文索引聚集索引和二级索引每个InnoDB表都有一个特殊的索引,称为聚簇索引clustered index,用于存储行数据。通常,聚簇索引与primary key同义。为了从查询、插入和其他数据库操作中获得最佳性能,您必须了解InnoDB如何使用聚集索引来优化每个表最常见的查找和DML操...

2019-12-13 18:28:35 288

原创 InnoDB磁盘结构-表

TablesCreating InnoDB Tables要创建InnoDB表,请使用以下CREATE TABLE语句。CREATE TABLE t1 (a INT, b CHAR (20), PRIMARY KEY (a)) ENGINE=InnoDB;如果InnoDB被定义为默认的存储引擎,则不需要指定ENGINE=InnoDB子句。要检查默认存储引擎,请发出以下语句:...

2019-12-13 17:07:49 201

原创 InnoDB内存结构

目录缓冲池更改缓冲区自适应哈希索引日志缓冲区缓冲池缓冲池是主内存中的一个区域,InnoDB在访问表和索引数据时将其缓存。缓冲池允许直接从内存中处理经常使用的数据,这加快了处理速度。在专用服务器上,多达80%的物理内存通常分配给缓冲池。为了提高大容量读取操作的效率,缓冲池被划分为可能包含多行的页。为了提高缓存管理的效率,缓冲池被实现为页面的链接列表;很少使用的数据使...

2019-12-12 18:01:18 240

翻译 InnoDB简介

InnoDB是一种兼顾了高可靠性和高性能的通用存储引擎。在MySQL 5.7中,InnoDB是默认的MySQL存储引擎。除非您配置了其他默认存储引擎,否则CREATE TABLE不带ENGINE=子句的语句将创建一个InnoDB表。InnoDB的主要优势它的DML操作遵循ACID模型,事务具有提交、回滚和崩溃恢复功能,以保护用户数据。有关更多信息,请参见第14.2节“ InnoDB和...

2019-12-12 15:56:14 1452 1

原创 聚合(GROUP BY)函数

聚合(GROUP BY)功能描述本节介绍对值集进行操作的组(汇总)函数。名称 描述 AVG() 返回参数的平均值 BIT_AND() 按位返回AND BIT_OR() 按位返回OR BIT_XOR() 返回按位异或 COUNT() 返回返回的行数的计数 COUNT(DISTINCT) 返回多个不同值的计数 GROUP_C...

2019-12-10 01:22:34 637

原创 XML 函数

名称 描述 ExtractValue() 使用XPath表示法从XML字符串中提取值 UpdateXML() 返回替换的XML片段 本节讨论MySQL中的XML和相关功能。注意通过使用--XML选项调用MySQL和mysqldump客户机,可以从MySQL获取XML格式的输出。SeeSection4.5.1, “mysql— The MySQL Com...

2019-12-10 01:08:19 283

原创 强制转换函数和运算符

强制转换函数和运算符名称 描述 BINARY 将字符串转换为二进制字符串 CAST() 将值强制转换为特定类型 CONVERT() 将值强制转换为特定类型 强制转换函数和运算符可将值从一种数据类型转换为另一种数据类型。带有USING子句的CONVERT()提供了一种在不同字符之间转换数据的方法:CONVERT(expr USING tra...

2019-12-10 00:48:40 1208

原创 全文搜索功能

目录自然语言全文搜索布尔全文搜索具有查询扩展的全文本搜索全文停用词InnoDB搜索索引的停用词MyISAM搜索索引的停用词全文限制MATCH (col1,col2,...) AGAINST (expr[search_modifier])search_modifier: { IN NATURAL LANGUAGE MODE | IN...

2019-12-10 00:04:24 674

原创 控制流功能

Name Description CASE Case operator IF() If/else construct IFNULL() Null if/else construct NULLIF() Return NULL if expr1 = expr2 CASEvalueWHEN [compare_value] THENresult[W...

2019-12-09 04:51:21 127

原创 运算符

目录运算符优先级比较函数和运算符逻辑运算符赋值运算符名称 描述 AND,&& 逻辑与 = 分配值(作为SET语句的一部分,或作为UPDATE语句的SET子句的一部分) := 赋值 BETWEEN ... AND ... 值是否在值范围内 BINARY 将字符串转换为二进制字符串 & ...

2019-12-09 04:02:38 131

原创 表达式计值中的类型转换

当一个运算符与不同类型的操作数一起使用时,将进行类型转换以使操作数兼容。一些转换是隐式发生的。例如,MySQL根据需要自动将字符串转换为数字,反之亦然。mysql> SELECT 1+'1'; -> 2mysql> SELECT CONCAT(2,' test'); -> '2 test'也可以使用该CAST()函数将数字明确转...

2019-12-09 03:27:52 238

原创 函数和运算符参考

名称 描述 ABS() 返回绝对值 ACOS() 返回反余弦 ADDDATE() 将时间值(间隔)添加到日期值 ADDTIME() 加时间 AES_DECRYPT() 使用AES解密 AES_ENCRYPT() 使用AES加密 AND,&& 逻辑与 ANY_VALUE() 抑制 ONLY_FUL...

2019-12-08 17:08:24 256

原创 概述

表达式可以用在SQL语句的几个点上,比如SELECTstatements中ORDER BYorHAVINGclauses里面,SELECT,DELETE, orUPDATEstatemen的WHERE子句,表达式可以使用字面量值,列值,NULL,built-in functions,stored functions, user-defined functions和操...

2019-12-08 16:50:21 66

原创 优化概述

数据库性能取决于数据库级别的几个因素,例如表,查询和配置设置。这些软件结构导致在硬件级别执行CPU和I / O操作,您必须将这些操作最小化并使其尽可能高效。在研究数据库性能时,首先要学习软件方面的高级规则和准则,并使用时钟时间来衡量性能。成为专家之后,您将了解有关内部情况的更多信息,并开始测量诸如CPU周期和I / O操作之类的东西。典型的用户旨在从其现有的软件和硬件配置中获得最佳的数据库性能...

2019-12-07 14:40:46 169

原创 备份和恢复

目录备份和恢复类型数据库备份方式备份和恢复策略建立备份 Policy使用备份进行恢复备份策略摘要使用 mysqldump 进行备份使用 mysqldump 以 SQL 格式转储数据重新加载 SQL-Format 备份使用mysqldump转储文本定界格式的数据重新加载 Delimited-Text 格式备份mysqldump 提示制作数...

2019-12-07 14:03:36 688

原创 Database Administration Statements

帐户管理ALTER USER 语法ALTER USER [IF EXISTS] user [auth_option] [, user [auth_option]] ... [REQUIRE {NONE | tls_option [[AND] tls_option] ...}] [WITH resource_option [resource_option] ...]...

2019-12-04 15:00:26 142

原创 Replication(复制) Statements

SQL 用于控制 Master 服务器的语句本节讨论用于管理 master 复制服务器的 statements。PURGE BINARY LOGS 语法PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr}binary log 是一组 files,包含有关 MySQL 服务器进行...

2019-12-03 12:04:32 205

原创 Transactional 和 Locking Statements

START TRANSACTION, COMMIT, and ROLLBACK StatementsSTART TRANSACTION [transaction_characteristic [, transaction_characteristic] ...]transaction_characteristic: { WITH CONSISTENT SNAPSHOT...

2019-12-03 11:05:06 367

原创 数据处理语句

目录CALL声明DELETE 语法DO 语法HANDLER 语法INSERT 语法INSERT ... SELECT 语法INSERT ... ON DUPLICATE KEY UPDATE 语法INSERT DELAYED 语法LOAD DATA 语法LOAD XML 语法REPLACE 语法SELECT 语法SELECT ... INT...

2019-12-02 11:46:55 403

原创 数据定义语句

目录ALTER DATABASE语句ALTER EVENT语句ALTER FUNCTION 语法ALTER INSTANCE语句ALTER LOGFILE GROUP 语法ALTER PROCEDURE语句ALTER SERVER 语法ALTER TABLE 语法ALTER TABLESPACE语句ALTER VIEW 语法CREATE DATA...

2019-11-30 02:42:09 2511

原创 文字字面量

字符串字面量字符串是由单引号(')或双引号(")字符引起的字节或字符序列。例子:'a string'"another string"彼此相邻的带引号的字符串被串联为单个字符串。以下几行是等效的:'a string''a' ' ' 'string'如果启用了ANSI_QUOTESSQL 模式,,则字符串文字只能在单引号中引起来,因为双引号中引起的字符串被解释为标识符。...

2019-11-25 16:44:39 117

原创 在一台机器上运行多个MySQL实例

目录设置多个数据目录创建一个新的数据目录复制现有数据目录在Windows上运行多个MySQL实例在Windows命令行中启动多个MySQL实例将多个MySQL实例作为Windows服务启动在Unix上运行多个MySQL实例在多服务器环境中使用客户端程序在某些情况下,您可能希望在一台计算机上运行多个MySQL实例。您可能想测试新的MySQL版本,同时保持现有的生产...

2019-11-25 01:05:35 713

原创 MySQL服务器用户定义的功能

MySQL Server允许创建用户定义的函数(UDF)并将其加载到服务器中以扩展服务器功能。服务器可以实现UDF全部或部分功能。此外,您可以编写自己的UDF。以下各节介绍如何安装和卸载UDF,以及如何在运行时确定安装了哪些UDF并获取有关它们的信息。有关编写UDF的信息,请参见第28.4节“向MySQL添加函数”。安装和卸载 User-Defined 功能必须先将 User-def...

2019-11-24 17:18:06 162

原创 MySQL服务器插件

目录安装和卸载插件安装插件卸载插件获取服务器插件信息MySQL企业线程池线程池组件线程池安装线程池操作线程池调整重写器-查询重写插件安装或卸载重写器查询 Rewrite 插件使用重写器查询 Rewrite 插件重写器查询重写插件参考版本令牌Version 令牌组件安装或卸载 Version 令牌使用版本令牌版本令牌参考...

2019-11-24 16:55:09 366

原创 服务器日志维护

如第5.4节“ MySQL服务器日志”所述,MySQL Server可以创建几个不同的日志文件来帮助您查看正在发生的活动。但是,您必须定期清理这些文件,以确保日志不会占用过多的磁盘空间。在启用 logging 的情况下使用 MySQL 时,您可能需要不时备份和删除旧的日志文件,并告诉MySQL开始记录新文件。请参见第7.2节“数据库备份方法”。在 Linux(Red Hat)安装上,您可以...

2019-11-23 10:39:13 276

原创 DDL日志

DDL日志或元数据日志记录由数据定义语句(如DROP TABLE和ALTER TABLE)生成的元数据操作。MySQL使用此日志从元数据操作中间发生的崩溃中恢复。当执行该语句DROP TABLE t1, t2,我们需要确保两个t1和t2被删除,并且每个表都被完全删除。此类SQL语句的另一个示例是ALTER TABLE t3 DROP PARTITION p2,我们必须确保完全删除了该分区,并...

2019-11-23 10:26:35 517

原创 慢查询日志

目录慢查询日志参数慢查询日志内容慢查询日志由SQL语句组成,执行慢查询需要花费的时间超过long_query_time的值,并且至少min_examined_row_limit的value行需要检查。慢查询日志可用于查找执行时间较长的查询,因此可作为优化的候选对象。但是,检查较长的慢查询日志可能是一项耗时的任务。为了使此操作更容易,您可以使用mysqldumpslow命令来处理慢...

2019-11-23 10:15:53 144

原创 二进制日志

目录二进制记录格式设置二进制日志格式混合二进制记录格式更改mysql数据库表的日志记录格式二进制日志包含描述数据库更改(例如表创建操作或表数据更改)的“事件”。它还包含针对可能进行了更改的语句的事件(例如,DELETE操作,没有任何匹配到的行),除非使用基于行的日志记录。二进制日志还包含有关每个语句花费该更新数据多长时间的信息。二进制日志有两个重要目的: 对于复制...

2019-11-22 11:38:52 948

原创 常规日志查询

常规查询日志是mysqld在做什么的常规记录。当客户端连接或断开连接时,服务器会将信息写入此日志,并记录从客户端收到的每个SQL语句。当您怀疑客户端中的错误并想确切地知道客户端发送到mysqld的内容时,常规查询日志可能非常有用。每一行表示客户端何时连接,当然也包括所用的连接类型,connection_type是TCP/IP(没有 SSL 建立 TCP/IP 连接),SSL/TLS(用 S...

2019-11-22 04:40:18 243

原创 错误日志

本节讨论如何配置MySQL服务器以将诊断消息记录到错误日志中。有关选择错误消息字符集或语言的信息,请参见第10.6节“错误消息字符集”或第10.12节“设置错误消息语言”。错误日志包含mysqld启动和关闭时间的记录。它还包含诊断消息,例如错误,警告和注释,它们在服务器启动和关闭期间以及服务器运行期间发生。例如,如果mysqld注意到需要自动检查或修复表,它将向错误日志中写入一条消息。...

2019-11-21 07:20:58 439

原创 选择常规查询 Log 和慢查询 Log 输出目的地

目录服务器启动时Log 控制运行时的日志控制日志表的优点和特征如果启用了这些日志,MySQL Server 可以灵活地控制常规查询 log 和慢查询 log 的输出目标。 日志项的可能目标是 log files 或mysql系统数据库中的general_log和slow_log表。可以选择文件输出,table 输出或两者都选。服务器启动时Log 控制log_output...

2019-11-21 06:26:27 146

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除