自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单机部署zookeeper集群

ZooKeeper由5台服务器 SID分别为1、2、3、4、5,ZXID分别为8、8、8、7、7,并且此时SID为3的服务器是Leader。某一时刻3和5服务器出现故障,因此开始进行Leader选举。对于第一种已经存在Leader的情况,机器试图去选举Leader时,会被告知当前服务器的Leader信息,对于该机器来说,仅仅需要和Leader机器建立连接,并进行状态同步即可。①当ZooKeeper集群中的一台服务器出现以下两种情况之一时,就会开始进入Leader选举。• 集群中存在Leader。

2023-08-18 18:11:46 686

原创 Docker基础

Docker基础

2023-02-20 14:53:57 191

原创 Oracle闪回技术

文章目录1、配置闪回恢复区2、数据库闪回配置3、使用 scn/时间 闪回数据库4、闪回查询5、闪回表6、闪回版本查询7、闪回事务查询1、配置闪回恢复区SQL> set time on;SQL> show parameter db_recovery_file_dest;SQL> alter system set db_recovery_file_dest_size=5G scope=both;2、数据库闪回配置①数据库必须在归档模式②数据库参数 db_flashback_re

2021-08-11 01:12:15 211

原创 数据泵导出导入

1、创建 DIRECTORY 对象并授于对象权限SQL> create directory dump_dir as '/home/oracle/oradata2/bak/dump';SQL> grant read,write on directory dump_dir to scott;# 查看 DIRECTORY 对象SQL> col OWNER for a15SQL> col DIRECTORY_NAME for a50SQL> col DIRECTORY_P

2021-08-10 00:20:52 635

原创 SQL_Loader 固定格式加载数据

1、创建需要加载数据的表create table student( stuno number(4), stuname varchar2(20), sex varchar2(4), old number(4));2、制作一份文本数据vi student.txt1001,东方,男,301002,开心,女,251003,jack,男,231004,rose,女,203、编辑控制文件vi student.ctlload data infile '/home/oracle/or

2021-08-09 23:59:08 204

原创 RMAN备份恢复

文章目录1、连接到目标数库2、配置 RMAN 配置参数3、非一致性备份4、一致性备份5、备份表空间6、备份数据文件7、备份控制文件8、备份归档重做日志9、增量备份10、删除备份文件11、 noarchivelog 模式数据库备份恢复12、 archivelog 模式数据库备份恢复13、基于时间的不完全恢复14、基于 SCN 的不完全恢复1、连接到目标数库rman target/rman target system/nocatalog2、配置 RMAN 配置参数①定义使用的通道数量CONFIGU

2021-08-09 23:29:07 468

原创 管理归档日志文件

文章目录查询归档日志信息常用的数据字典视图1、查看当前日志模式2、开启归档模式3、关闭归档模式4、配置归档进程5、设置归档文件位置6、显示归档信息7、查看归档日志8、清理归档日志查询归档日志信息常用的数据字典视图v$database #查询数据库是否处于归档v$archived_log #包含控制文件中所有已经归档的日志信息v$archive_dest #包含所有归档目标信息v$archive_processes #包含已启动的 ARCN 进程状态信息v$backup_redol

2021-08-09 18:10:54 134

原创 管理重做日志文件

文章目录查询日志信息常用的数据字典视图1、查看重做日志信息2、添加新的重做日志文件组3、为重做日志组添加一个重做日志成员4、删除重做日志成员5、删除重做日志组6、清除重做日志文件7、更改重做日志的位置或名称查询日志信息常用的数据字典视图v$log #显示控制文件中的日志文件信息v$logfile #日志组合日志成员信息v$log_history #日志历史信息1、查看重做日志信息set linesize 100col member for a35select log1.grou

2021-08-09 16:52:40 199

原创 管理控制文件

控制文件信息相关的常用数据字典视图v$controlfile #包含所有控制文件的名称和状态信息v$controlfile_record_section #包含控制文件中各个记录文档段的信息v$parameter #包含了系统的所有初始化参数,从中可以查询参数 control_files 的值1、查看控制文件的位置select name from v$controlfile;2、移动控制文件(实现控制文件的的多路复用)①、查看控制文件select status,n

2021-08-09 11:48:19 128

原创 rsync常用命令

选项说明-a, ––archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等价于 -rlptgoD (注意不包括 -H)-r, ––recursive对子目录以递归模式处理-l, ––links保持符号链接文件-H, ––hard-links保持硬链接文件-p, ––perms保持文件权限-t, ––times保持文件时间信息。强烈建议任何时候都加上"-t",否则目标文件mtime会设置为系统时间,导致下次更新检查出mtime不同从而导致增量传输无效。-g, ––group保持文件属组信息-o

2021-07-05 23:28:41 5672

原创 rhel8配置本地yum源仓库

1、创建挂载目录 iso 替换为具体名mount -o loop /root/soft/rhel-8.0-x86_64-dvd.iso /media/2、修改配置文件①在RHEL8中把软件源分成了两部分一个是BaseOS,一个是AppStream 已经存在于光盘中,只不过要分别去配置.repo文件。②BaseOS存储库旨在提供一套核心的底层操作系统的功能,为基础软件安装库。③AppStream存储库中包括额外的用户空间应用程序、运行时语言和数据库,以支持不同的工作负载和用例。AppStream

2021-06-11 18:35:50 1705 1

原创 lvextend扩展逻辑卷大小

1、列出所有块设备lsblk[root@ip161 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 50G 0 disk └─vda1 253:1 0 50G 0 part /vdb 253:16 0 800G 0 disk ├─vg1001-lv_swap 252:0 0 1

2021-05-17 17:53:04 2883

原创 MySQL存储引擎

文章目录MySQL存储引擎一、MyISAM二、InnoDB1、自动增长列2、外键约束3、主键和索引4、存储方式三、MEMORY四、MERGE五、TokuDBMySQL存储引擎功能MylSAMMEMORYInnoDBArchive存储限制256TBRAM64TBNone支持事务NoNoYesNo支持全文索引YesNoNoNo支持树索引YesYesYesNo支持哈希索引NoYesNoNo支持数据缓存NoN/A

2020-06-28 11:18:17 177

原创 MySQL 分区管理

文章目录MySQL 分区管理一、RANGE 和 LIST 分区管理1、删除 RANGE 和 LIST 分区2、添加 RANGE 和 LIST 分区3、重新定义 RANGE 和 LIST 分区二、HASH 和 KEY 分区管理1、减少 HASH 和 KEY 分区数量2、增加 HASH 和 KEY 分区数量三、交换分区MySQL 分区管理一、RANGE 和 LIST 分区管理1、删除 RANGE 和 LIST 分区​ 从 RANGE 或者 LIST 分区的表中删除一个分区,可以使用 ALTER TABL

2020-06-26 23:42:24 288

原创 MySQL分区类型

文章目录MySQL分区类型一、RANGE 分区1、RANGE 分区2、RANGE COLUMNS 分区二、LIST 分区1、LIST 分区2、LIST COLUMNS 分区三、HASH 分区1、常规 HASH2、线性 HASH 分区(LINEAR HASH 分区)四、KEY 分区1、KEY 分区2、LINEAR KEY 分区五、子分区六、MySQL 分区处理 NULL 值得方式MySQL分区类型RANGE 分区:基于一个给定连续区间范围,把数据分配到不同的分区。LIST 分区:基于枚举出的值列表分区

2020-06-26 23:41:27 832

原创 binlog2sql 安装使用

文章目录binlog2sql 安装使用1、安装所需依赖2、使用3、参考链接binlog2sql 安装使用1、安装所需依赖#所需依赖setuptools-0.6c11.tar.gzpip-9.0.1.tar.gzargparse-1.4.0-py2.py3-none-any.whllinecache2-1.0.0-py2.py3-none-any.whlPyMySQL-0.7.8-py2-none-any.whlsix-1.10.0-py2.py3-none-any.whltracebac

2020-06-22 23:38:37 212

原创 MGR多主(Multi-Primary)模式和单主(Single-Primary)模式切换

文章目录MGR多主(Multi-Primary)模式和单主(Single-Primary)模式切换一、单主切换到多主二、多主切换到单主MGR多主(Multi-Primary)模式和单主(Single-Primary)模式切换一、单主切换到多主​ 1、对每一个 MySQL 节点配置如下参数,并写入 my.cnf 配置文件stop group_replication;#关闭单主模式的参数set global group_replication_single_primary_mode=off;#开启

2020-06-17 00:48:22 803

原创 MGR单主(Single-Primary)模式部署

文章目录MGR单主(Single-Primary)模式部署1、创建复制账号2、修改配置参数3、主节点配置4、在主节点启动组复制并查看日志。5、在主节点通过视图查看现在的集群状态6、在主节点关闭 group_replication_bootstrap_group7、配置从节点8、在两个节点启动组复制9、如何找出 Primary 成员10、常见报错11集群故障MGR单主(Single-Primary)模式部署1、创建复制账号​ 在每一个MySQL节点创建复制使用账号set sql_log_bin=0;

2020-06-17 00:46:18 590

原创 MHA 架构部署

文章目录MHA 架构部署一、部署信息1、安装软件信息2、软件下载地址3、环境规划二、主机环境配置1、永久修改主机名2、添加 IP 映射3、开放端口4、配置互信三、安装依赖包1、配置 MHA Node 所需依赖包(每台机都需要配)2、配置 MHA Manager 所需依赖包(只需在 manager 上配置即可)四、RPM 安装 MHA1、安装 MHA Node (所有节点都安装)2、安装 MHA Manager (manager 节点安装即可)五、源码安装 MHA1、安装 MHA Node (所有节点都安装)

2020-06-16 00:20:06 1250

原创 MySQL备份恢复工具安装

文章目录MySQL备份恢复工具安装一、mydumper安装二、xtrabackup 二进制安装三、xtrabackup 源码安装MySQL备份恢复工具安装一、mydumper安装​ 下载链接:https://github.com/maxbube/mydumper​ 1、安装依赖包yum install -y glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel​ 2、解压tar -zxvf mydumper-0.9.5.ta

2020-06-07 03:21:03 339

原创 MySQL二进制安装

文章目录MySQL二进制安装一、创建 mysql 用户二、安装MySQL(二进制)MySQL二进制安装​ 下载链接:https://dev.mysql.com/downloads/mysql/5.7.html#downloads一、创建 mysql 用户#1)创建用户useradd --home-dir=/home/mysql -m mysql#2)删除用户userdel -r mysql#3)修改用户密码passwd mysql二、安装MySQL(二进制)​ 1、安装依赖包(r

2020-06-06 20:30:34 178

原创 centos7配置本地yum源仓库

配置本地yum源仓库​ 1、挂载 ISO 镜像文件#挂载 ISO 镜像文件mount /dev/cdrom /media/#卸载 ISO 镜像文件umount /dev/cdrom​ 2、创建 CentOS-local.repovi /etc/yum.repos.d/CentOS-local.repo[base-local]#本源的名字(不能和其他重复)name=CentOS7-local#步骤2中挂载镜像创建的目录baseurl=file:///media#启动yum源

2020-06-06 17:29:24 852

原创 MySQL源码安装

文章目录MySQL源码安装一、创建 mysql 用户二、清除旧 MySQL 安装​ 1、查看yum是否安装过mysql​ 2、查看rpm是否查看安装过mysql​ 3、清除余项​ 4、查看系统的服务三、源码安装 MySQL​ 1、安装依赖​ 2、编译安装 MySQL3、用 mysql 账号创建 my.cnf​ 4、使用root账号进行初始化​ 5、用 mysql 账号启动 MySQL​ 6、登库并修改密码​ 7、创建软连接​ 8、导入 sakila 库MySQL源码安装一、创建 mysql 用户#1)

2020-06-06 16:58:30 2398

原创 MySQL并发调优

文章目录MySQL并发调优1、max_connections2、back_log3、table_open_cache4、thread_cache_size5、innodb_lock_wait_timeoutMySQL并发调优1、max_connections​ 1)控制连接 MySQL 数据库的最大数量,如果状态变量 Connection_errors_max_connections 不为零,并且一直在增长,说明不断有连接请求因数据库连接数已达到最大允许值而失败,需考虑增大 max_connectio

2020-06-06 02:54:54 194

原创 InnoDB Log 优化

文章目录InnoDB Log 优化​1、innodb_flush_log_at_trx_commit2、innodb_log_file_size3、innodb_log_buffer_sizeInnoDB Log 优化#查看当前日志的写入情况mysql> show engine innodb status \G;...LOG---Log sequence number 11881468478 #上次数据页的修改还没有刷新到日志文件的 lsn 号 Log flushed up to

2020-06-06 02:48:59 149

原创 InnoDB内存优化

文章目录InnoDB内存优化1、innodb_buffer_pool_size2、innodb_old_blocks_pct3、innodb_old_blocks_time4、innodb_buffer_pool_instances5、innodb_max_dirty_pages_pct6、innodb_io_capacity7、innodb_doublewrite8、join_buffer_size & sort_buffer_sizeInnoDB内存优化1、innodb_buffer_poo

2020-06-06 02:29:23 259

原创 InnoDB内存优化

文章目录InnoDB内存优化1、innodb_buffer_pool_size2、innodb_old_blocks_pct3、innodb_old_blocks_time4、innodb_buffer_pool_instances5、innodb_max_dirty_pages_pct6、innodb_io_capacity7、innodb_doublewrite8、join_buffer_size & sort_buffer_sizeInnoDB内存优化1、innodb_buffer_poo

2020-06-06 00:19:21 591

原创 MyISAM内存优化

文章目录MyISAM内存优化​一、key_buffer_size二、多个索引缓存三、启动中点插入策略四、read_buffer_size 和 read_rnd_buffer_sizeMyISAM内存优化​一、key_buffer_size​ key_buffer_size 决定 MyISAM 索引块缓冲区的大小,它直接影响 MyISAM 表的存取效率。对于一般的 MyISAM 数据库,建议至少将 1/4 可用内存分配给 key_buffer_size​ 1、通过索引块的物理读写比率衡量 key bu

2020-06-05 23:19:05 214

原创 查询重写

查询重写​ Query Rewrite Plugin 通过规则匹配的方式,将符合条件的 SQL 进行重写,从而达到调整执行计划或者其他的目的。一、安装​ 在 $mysqlhomt/share 目录下执行安装脚本,创建 query_rewrite 数据库和 rewrite_rules 规则表mysql -uroot -p -S /home/mysql/mysql.sock < /home/mysql/mysql/share/install_rewriter.sqlmysql> sho

2020-06-05 01:17:43 637

原创 MySQL常用工具使用命令

文章目录MySQL常用工具使用命令一、mysqlbinlog(日志管理工具)二、mysqlcheck(表维护工具)三、mysqldump(数据导出工具)四、mysqlpump(并行的数据导出工具)五、mysqlshow(数据库对象查看工具)MySQL常用工具使用命令一、mysqlbinlog(日志管理工具)mysqlbinlog /home/mysql/mysqllog/binlog/mysql-binlog.000005 -v -o 1 --start-datetime='2020-01-15 2:

2020-06-05 01:04:09 148

原创 使用 SQL 提示

使用 SQL 提示​ 强制使用临时表 SQL_BUFFER_RESULT ,当我们查询的结果集中的数据比较多时,可以通过SQL_BUFFER_RESULT。选项强制将结果集放到临时表中,这样就可以很快地释放MySQL的表锁(这样其它的SQL语句就可以对这些记录进行查询了),并且可以长时间地为客户端提供大记录集。代价是服务器端需要更多的内存。SELECT SQL_BUFFER_RESULT * FROM TABLE1 WHERE … ​ 1、未指定索引mysql> desc select co

2020-06-05 00:37:22 235

原创 优化分页查询

优化分页查询方法一​ 在索引上完成排序分页操作,最后根据主键关联回原表查询所需要的其他列内容。mysql> desc select customer_id,email from customer_t order by last_name limit 50,5 \G; *************************** 1. row

2020-06-05 00:30:49 86

原创 优化 OR 条件

优化 OR 条件​ 对含有 OR 的查询子句,如果要利用索引,则 OR 之间的每个条件列都必须用到索引;如果没有索引,则应该考虑增加索引。(如果 or 有一个条件没有索引,MySQL 认为全表扫描最优。因为 or 条件列中有没有索引的,那么查询肯定要走全表扫描,在存在全表扫描的情况下,就没有必要多一次索引扫描增加 I/O 访问,一次全表扫描过滤条件就可以了。)​ 1、在两个独立索引上做 OR 操作,可以发现查询正确用到了索引,从执行计划的描述中,发现处理含有 OR 字段的查询是,实际上是对 OR 的各个

2020-06-05 00:22:36 1208 1

原创 优化嵌套查询

优化嵌套查询​ 子查询有些情况下可以被更有效的连接(JOIN)替代。因为连接(JOIN)不需要再内存中创建临时表来完成这个逻辑上需要两个步骤的查询工作。如下所示:可以看出查询关联的类型从 index_subquery 调整为 ref.#子查询mysql> desc select * from customer where customer_id not in(select customer_id from payment) \G;*************************** 1. r

2020-06-04 23:30:43 380

原创 优化 JOIN 操作

优化 JOIN 操作一、NLJ算法​ Nested-Loop Join(NLJ) —— MySQL 对于多表 JOIN 在目前只支持的一种算法 。NLJ 原理:内外两层循环,对于循环的每条记录,都要在内循环中做一次检索。例如: t1 和 t2 表进行 join, t1通过范围扫取每条记录作为外循环,t2通过关联字段在表中做扫描,满足条件则返回客户端;不断重复这个过程直到外循环结束。外循环的表通常也称为驱动表。1、NLJ 的性能高低主要取决于两方面:​ 1) 外循环的结果集大小。(可以在驱动表(外循环

2020-06-04 23:22:56 415

原创 优化 GROUP BY 语句

优化 GROUP BY 语句​ 默认情况下,MySQL对所有GROUP BY col1,col2,…的字段进行排序。与在查询中指定 ORDER BY col1,col2,…类似。因此,如果显式包括一个包含相同列的 ORDER BY 子句,则对MySQL的实际执行性能没有什么影响。​ 如果查询包括 GROUP BY 但用户想要避免排序结果的消耗,则可以指定 ORDER BY NULL 禁止排序,如下:#默认情况mysql> explain select payment_date,sum(amou

2020-06-04 22:30:03 245

原创 优化 ORDER BY 语句

文章目录优化 ORDER BY 语句一、MySQL 中两种排序方式二、优化方法三、Filesort 排序算法优化 ORDER BY 语句一、MySQL 中两种排序方式​ 1) 第一种通过有序索引顺序扫描直接返回有序数据,这种方式在使用 explain 分析查询的时候显示为 Using index (即通过索引列就能返回所需要的数据),不需要额外的排序,操作效率较高。mysql> explain select customer_id from customer order by store_id

2020-06-04 22:25:17 175

原创 MySQL 优化 LOAD 速度

文章目录MySQL 优化 LOAD 速度一、优化 MyISAM 表 LOAD 速度二、优化 InnoDB 表 LOAD 速度三、总结MySQL 优化 LOAD 速度一、优化 MyISAM 表 LOAD 速度​ DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新。在导入大量的数据到一个非空的 MyISAM 表时,通过这两个命令可以提高导入的效率。对于导入大量数据到一个空的 MyISAM 表,默认就是先导入数据后才创建索引的,所以不用进行设置。​ 1

2020-06-03 00:47:02 1481

原创 定期分析表、检查表和优化表

文章目录定期分析表、检查表和优化表一、分析表二、检查表三、优化表定期分析表、检查表和优化表​ 注意: ANALYZE、CHECK、OPTIMIZE、ALTER TABLE 执行期间将对表进行锁定,因此一定注意要在数据库不繁忙的时候执行相关的操作。一、分析表​ 分析表,analyze 分析表语句用于分析和存储表的关键字分布,分析的结果可以使用系统得到更准确的统计信息,使得 SQL 能够生成正确的执行计划。在分析期间对表有一个读取锁定。这对于 MyISAM、BOB 和 InnoDB 表有作用。对于 My

2020-06-02 23:43:49 309

原创 MySQL 存在索引但不能使用索引的典型场景

文章目录MySQL 存在索引但不能使用索引的典型场景一、以 % 开头的 LIKE 查询不能够利用 B-Tree 索引二、出现隐式转换三、不满足最左原则四、MySQL优化器认为用索引比全表扫描更慢五、有 or 分割开的条件MySQL 存在索引但不能使用索引的典型场景表结构mysql> show index from actor;+-------+------------+---------------------+--------------+-------------+-----------+

2020-06-02 00:45:28 245

空空如也

空空如也

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

TA关注的人

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