[转帖]1. awk基础,awk介绍,awk基本语法,直接使用action,打印列,初识列和行,\$0、\$NF、NF,基础示例,begin模式,end模式
前言
本小节是awk基础入门课程,掌握awk从这一小节开始。
awk介绍
awk其实是一门编程语言,它支持条件判断、数组、循环等功能。所以可以把awk理解成一个脚本语言解释器。
grep 、sed、awk被称为linux中的"三剑客"。
他们的特点:
grep 更适合单纯的查找或匹配文本
sed 更适合编辑匹配到的文本
awk 更适合格式化文本,对文本进行较复杂格式处理
- 1
- 2
- 3
awk基本语法
基本语法
awk [options] 'program' file1 , file2 , ```
- 1
对于上述语法中的program来说,又可以细分成pattern和action,也就是说,awk的基本语法如下
awk [options] 'Pattern{Action}' file
- 1
action指的就是动作,awk擅长文本格式化,并且将格式化以后的文本输出,所以awk最常用的动作就是print和printf.
直接使用action
先从最简单用法开始了解awk,先不使用[options] ,也不指定pattern,直接使用最简单的action,从而开始认识awk。
[root@node1 course]# echo zaishu>awktest
[root@node1 course]# awk '{print}' awktest
zaishu
- 1
- 2
- 3
打印列
[root@node1 course]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 48G 4.6G 44G 10% /
devtmpfs 223M 0 223M 0% /dev
tmpfs 235M 0 235M 0% /dev/shm
tmpfs 235M 5.5M 229M 3% /run
tmpfs 235M 0 235M 0% /sys/fs/cgroup
/dev/sda1 197M 125M 73M 64% /boot
tmpfs 47M 0 47M 0% /run/user/0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
[root@node1 course]# df -h | awk '{print $4}'
Avail
44G
223M
235M
229M
235M
73M
47M
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
上图中的awk ‘{print $5}’,表示输出df的信息的第5列,$5表示将当前行按照分隔符分割后的第5列,不指定分隔符时,默认使用空格作为分隔符,细心的你一定发现了,上述信息用的空格不止有一个,而是有连续多个空格,awk自动将连续的空格理解为一个分割符了。
初识列和行
awk是逐行处理的,逐行处理的意思就是说,当awk处理一个文本时,会一行一行进行处理,处理完当前行,再处理下一行,awk默认以"换行符"为标记,识别每一行,也就是说,awk跟我们人类一样,每次遇到"回车换行",就认为是当前行的结束,新的一行的开始,awk会按照用户指定的分割符去分割当前行,如果没有指定分割符,默认使用空格作为分隔符。

$0、$NF、NF
$0和$NF均为内置变量;$0 表示显示整行;$NF表示当前行分割后的最后一列
注意,$NF 和 NF 要表达的意思是不一样的,对于awk来说,$NF表示最后一个字段,NF表示当前行被分隔符切开以后,一共有几个字段。
awk自动将连续的空格理解为一个分割符了,如果没有指定分割符,默认使用空格作为分隔符。
假如一行文本被空格分成了7段,那么NF的值就是7,$NF的值就是$7, 而$7表示当前行的第7个字段,也就是最后一列,那么每行的倒数第二列可以写为$(NF-1)。
基础示例
[root@node1 course]# cat awktxt
zaishu mysql qq
xasdf xxx sdfsadf
dd xx
sadf sdfsad
sadfdsaf sadfsadf sdfsa dfd
可以一次输出多个列
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 打印多列
[root@node1 course]# awk '{print $2,$3,$4}' awktxt
mysql qq
xxx sdfsadf
xx
sdfsad
sadfsadf sdfsa dfd
多行没有对应的列,所以并没有输出任何文本,而第五行有第所有列,所以输出了。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 添加字段作为列的内容
[root@node1 course]# awk '{print $2,$3,"test"}' awktxt
mysql qq test
xxx sdfsadf test
xx test
sdfsad test
sadfsadf sdfsa test
- 1
- 2
- 3
- 4
- 5
- 6
[root@node1 course]# awk '{print "1fr:"$1,"3th:"$3}' awktxt
1fr:zaishu 3th:qq
1fr:xasdf 3th:sdfsadf
1fr:dd 3th:
1fr:sadf 3th:
1fr:sadfdsaf 3th:sdfsa
- 1
- 2
- 3
- 4
- 5
- 6
- $引用列时,不能加"",否则当成普通字符串
[root@node1 course]# awk '{print $1}' awktxt
zaishu
xasdf
dd
sadf
sadfdsaf
- 1
- 2
- 3
- 4
- 5
- 6
[root@node1 course]# awk '{print "$1"}' awktxt
$1
$1
$1
$1
$1
- 1
- 2
- 3
- 4
- 5
- 6
[root@node1 course]# awk '{print "1fi:"$1}' awktxt
1fi:zaishu
1fi:xasdf
1fi:dd
1fi:sadf
1fi:sadfdsaf
- 1
- 2
- 3
- 4
- 5
- 6
[root@node1 course]# awk '{print "1fi:$1"}' awktxt
1fi:$1
1fi:$1
1fi:$1
1fi:$1
1fi:$1
- 1
- 2
- 3
- 4
- 5
- 6
- 整行输出
使用$0或者不使用$
[root@node1 course]# awk '{print}' awktxt
zaishu mysql qq
xasdf xxx sdfsadf
dd xx
sadf sdfsad
sadfdsaf sadfsadf sdfsa dfd
[root@node1 course]# awk '{print $0}' awktxt
zaishu mysql qq
xasdf xxx sdfsadf
dd xx
sadf sdfsad
sadfdsaf sadfsadf sdfsa dfd
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
初识模式(begin end)
awk的语法如下
awk [options] 'Pattern{Action}' file
- 1
awk是逐行处理的, 刚才已经说过了最常用的Action,就是print打印。
现在认识下一Pattern,也就是模式。详解介绍模式之前(模式篇幅很长),先介绍两个容易入门理解的特殊模式BEGIN和END。
BEGIN 模式指定了处理文本之前需要执行的操作
END 模式指定了处理完所有行之后所需要执行的操作
- 1
- 2
- 示例
在开始处理文件中的文本之前,先执行打印动作,输出的内容为"aaa",“bbb”.
[root@node1 course]# cat awktxt
zaishu mysql qq
xasdf xxx sdfsadf
dd xx
sadf sdfsad
sadfdsaf sadfsadf sdfsa dfd
- 1
- 2
- 3
- 4
- 5
- 6
[root@node1 course]# awk 'BEGIN{print "aaa","bbb"}' awktxt
aaa bbb
- 1
- 2
没有给定任何输入来源,awk就直接输出信息了,因为,BEGIN模式表示,在处理指定的文本之前,需要先执行BEGIN模式中指定的动作,而上述示例没有给定任何输入源,但是awk还是会先执行BEGIN模式指定的"打印"动作,打印完成后,发现并没有文本可以处理,于是就只完成了"打印 aaa bbb"的操作。
[root@node1 course]# awk 'BEGIN{print "aaa","bbb"}'
aaa bbb
- 1
- 2
这个时候,如果我们想要awk先执行BEGIN模式指定的动作,再根据执我们自定义的动作去操作文本,该怎么办呢?示例如下
[root@node1 course]# awk 'BEGIN{print "aaa","bbb"} {print $1,$2}' awktxt
aaa bbb
zaishu mysql
xasdf xxx
dd xx
sadf sdfsad
sadfdsaf sadfsadf
- 1
- 2
- 3
- 4
- 5
- 6
- 7
BEGIN模式的作用就是,在开始逐行处理文本之前,先执行BEGIN模式所指定的动作。以此类推,END模式的作用就一目了然了,举例如下。
[root@node1 course]# awk '{print $1,$2} END{print "end1","end2"}' awktxt
zaishu mysql
xasdf xxx
dd xx
sadf sdfsad
sadfdsaf sadfsadf
end1 end2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
可以结合BEGIN模式和END模式一起使用。示例如下
[root@node1 course]# awk 'BEGIN{print "aaa","bbb"} {print $1,$2} END{print "end1","end2"}' awktxt
aaa bbb
zaishu mysql
xasdf xxx
dd xx
sadf sdfsad
sadfdsaf sadfsadf
end1 end2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
总结
本小节是awk基础入门课程,掌握awk从这一小节开始。
友情链接
| 目录 | 章节 |
|---|---|
| 版本说明 | 版本说明 |
| 安装MySQL规范 | 1 安装方式 2 安装用户 3 目录规范 |
| MySQL 5.7 安装部署 | 1 操作系统配置 2 创建用户 3 创建目录 4 安装 5 配置文件 6 安装依赖包 7 配置环境变量 8 初始化数据库 9 重置密码 |
| MySQL8 安装 | MySQL8 安装 |
| 源码安装 | 1 安装依赖包 2 生成源码包 3 创建用户 4 编译安装 5 配置数据库 6 连接mysql |
| 多实例部署及注意事项 | 1 多实例概念 2 多实例安装 3 mysqld_multi(多实例第二种安装方式) |
| 目录 | 章节 |
|---|---|
| 生产中MySQL启动方式 | 1、 启动原理 2、参数文件默认位置及优先级 3、 以server方式启动 4、 mysqld_safe方式 5、 mysqld 方式 6、 systemctl 方式 |
| 关库 | 1、相关参数innodb_fast_shutdown 2、相关参数innodb_force_recovery 3、关闭mysql多种方式 |
| 常见MySQL启动失败案例 | 1.、目录权限 2、参数问题 3、配置文件 4、端口占用 5、误删二进制文件 6、undo表空间异常 7、binlog缓冲异常 |
| MySQL启动失败排查方法 | MySQL启动失败排查方法 |
| 连接MySQL数据库的方式 | 连接MySQL数据库的方式 |
| MySQL数据库用户安全策略 | 1、初始化数据库 2、修改密码 3、删除无用的用户 4、mysql_secure_installation |
| 找回丢失的用户密码 | 找回丢失的用户密码 |
| 目录 | 章节 |
|---|---|
| MySQL字符集和校验规则 | MySQL字符集和校验规则 |
| 查看字符集方法 | 1、查看mysql支持的字符集 2、查看字符集的校对规则 3、查看当前数据库的字符集 4、查看当前数据库的校对规则 |
| MySQL字符集设置 | 1、字符集设置层级关系 2、设置MySQL服务器级别字符集 3、设置创建对象的字符集 |
| 字符集案例 | 1、常用字符集每个汉字占用字节多少 2、大小案例 |
| 插入中文乱码解决 | 插入中文乱码解决 |
| 数据库常见字符集及如何选择字符集 | 数据库常见字符集及如何选择字符集 |
| 生产中如何彻底避免出现乱码 | 生产中如何彻底避免出现乱码 |
| 目录 | 章节 |
|---|---|
| 访问控制 | 1、连接验证(阶段一) 2、允许的连接 3、连接优先级 4、请求验证(阶段二) |
| 用户管理 | 1、新增用户 2、修改用户 3、删除用户 4、查看用户 |
| 密码管理 | 1、密码修改 2、密码过期设置 3、set password 4、密码过期策略 5、密码插件 |
| MySQL用户权限管理 | 1、权限粒度 2、显示账户权限 3、显示账户非权限属性 4、库级权限 5、表级权限 6、列级权限 7、权限回收 |
| 资源限制 | 1、用户创建指定配额 2、修改配额 |
| MySQL用户权限案例 | 1、断掉已清理的用户 2、忘记密码 3、如何禁止一个ip段的某个用户登录 4、创建开发账号 5、创建复制账号 6、创建管理员账号 |
| 目录 | 章节 |
|---|---|
| 缓冲池 | 1、默认引擎 2、设置缓冲池大小 3、优化缓冲池 4、管理缓冲池 5、数据页类型 |
| 线程 | 1、IO线程 2、主线程 |
| index page | index page |
| insert buffer page | insert buffer page |
| 重做日志 | 重做日志 |
| 回滚日志 | 回滚日志 |
| checkpoint,刷写脏页check point | checkpoint |
| 关键特性 | 1、插入缓冲 2、数据写入可靠性提升技术-doublewrite 3、自适应哈希索引-AHI |
| innodb预读预写技术 | 预读写 |
| 目录 | 章节 |
|---|---|
| 参数和配置文件 | 1、文件位置 2、查找参数 3、参数类型 4、参数修改 5、示例一 6、示例二 7、注意事项 |
| 错误日志文件 | 错误日志 |
| 通用日志 | 通用日志 |
| 慢查询日志 | 慢日志 |
| binlog | 1、记录什么 2、用途 3、开启和参数配置 4、日志查看 5、日志刷新 6、删除日志 7、日志分析(mysqlbinlog) 8、利用二进制日志文件恢复误删的表 |
| InnoDB存储引擎表空间文件 | 表空间文件 |
| 主从同步相关文件 | 主从同步文件 |
| 套接字文件 | 套接字文件 |
| pid 文件 | pid 文件 |
| redo log | 1、redo初识 2、日志组 3、与oracle redo的区别 4、相关参数 5、和binlog的区别 6、redo 缓冲区(innodb_flush_log_at_trx_commit) |
| InnoDB存储引擎逻辑结构 | 1、表空间 2、段 3、区 4、页 |
| 表碎片清理 | 1、判断是否有碎片 2、整理碎片 |
| 表空间文件迁移 | 1、需求 2、操作 |
| 目录 | 章节 |
|---|---|
| 常用语句 | 1、导入数据 2、库操作 3、表操作 4、数据操作 5、use性能影响 6、delete、truncate、drop的区别 7、SQL语句分类 |
| 数据类型与性能 | 1、整型 2、浮点型 3、字符串类型 4、日期类型 |
| MySQL约束 | 1、unsigned/signed 2、not null 3、count(*) 为什么慢 4、default 5、unique 6、 auto_increment 7、primary key |
| SQL编程高级 | 1、查询Syntax 2、查询列 3、where子句 4、group by … having子句 5、order by子句 6、limit子句(分页) 7、聚合函数 8、合并查询 9、多表查询 10、子查询 |
| 表的元数据库管理 | 1、统计应用库哪些表没有使用innodb存储引擎 2、如何查看表中是否有大对象 3、统计数据库大小 4、统计表的大小 |
| 目录 | 章节 |
|---|---|
| MySQL索引与二分查找法 | 1、什么是索引 2、索引的优缺点 3、索引的最大长度 4、二分查找法:折半查找法 5、mysql一张表存多少数据后,索引性能就会下降? |
| 剖析b+tree数据结构 | 1、B和B+树的区别 2、索引树高度 3、非叶子节点 4、指针 5、叶子节点 6、双向指针 7、b+tree插入操作 8、b+tree删除操作 |
| 相辅相成的聚集索引和辅助索引 | 1、聚集索引 2、聚集索引特点 3、聚集索引的优势 4、辅助索引 |
| 覆盖索引与回表查询 | 1、回表查询 2、覆盖索引 |
| 创建高性能的主键索引 | 1、主键索引创建的原则 2、主键索引的特点 3、为什么建议使用自增列作为主键 |
| 唯一索引与普通索引的性能差距 | 1、唯一索引特点 2、普通索引特点 3、唯一索引与普通索引的性能差距 |
| 前缀索引带来的性能影响 | 1、作用 2、坏处 |
| 如何使用联合索引 | 1、什么是联合索引 2、创建原则 3、排序 |
| Online DDL影响数据库的性能和并发 | 1、5.6版本之前 2、新版本 3、online ddl语法 4、相关参数 5、示例 6、影响 |
| pt-ocs原理与应用 | 1、安装pt-osc 2、pt-osc语法 3、案例 4、pt-osc原理 |
| 生产中索引的管理 | 1、建表时创建索引 2、建表后创建索引 3、查看索引 |
| SQL语句无法使用索引的情况 | 1、where条件 2、联合索引 3、联表查询 4、其他情况 |
| 目录 | 章节 |
|---|---|
| 最常用的STATISTICS和TABLES | 1、STATISTICS:用于存放索引的信息 2、TABLES:用于存放库表的元数据信息 |
| 判断索引创建是否合理 | 1、选择性 2、索引创建的建议 |
| 检查联合索引创建是否合理 | 1、联合索引创建是否合理 2、有了联合索引(a,b),还需要单独创建a索引吗? |
| 如何查找冗余索引 | 查找冗余索引 |
| 查找产生额外排序的sql语句 | 额外排序的sql语句 |
| 查找产生临时表的sql语句 | 临时表的sql语句 |
| 全表扫描的sql语句 | 全表扫描的sql语句 |
| 统计无用的索引 | 无用的索引 |
| 索引统计信息 | 1、存储索引统计信息 2、如何查看索引统计信息 |
| 目录 | 章节 |
|---|---|
| 简单嵌套查询算法-simple nested-loop join | simple nested-loop join |
| 基于索引的嵌套查询算法-index nested-loop join | index nested-loop join |
| 基于块的嵌套查询算法- block nested-loop join | block nested-loop join |
| Multi-Range Read | MRR |
| bached key access join | BKA |
| mysql三层体系结构 | 体系结构 |
| Index Condition Pushdown | 索引条件下推 |
| 一条查询SQL语句是怎样运行的 | 查询SQL语句 |
| 一条更新SQL语句是怎样运行的 | 更新SQL语句 |
| MySQL长连接与短连接的选择 | 1、相关参数 2、断开连接 |
| 执行计划explain | 1、语法 2、执行计划解析 |
| 目录 | 章节 |
|---|---|
| MySQL查询优化技术 | 概览 |
| 子查询优化 | 1、优化器自动优化 2、优化措施:子查询合并 3、优化措施:子查询上拉技术 |
| 外连接消除 | 外连接消除 |
| 生产环境不使用join联表查询 | 不使用join |
| group by分组优化 | 1、group by执行流程 2、为什么group by要创建临时表 |
| order by排序优化 | 排序优化 |
| MySQL性能抖动问题 | 性能抖动问题 |
| count(*)优化 | count(*)优化 |
| 磁盘性能基准测试 | 1、安装sysbench 2、生成文件 3、测试文件io 4、清除文件 |
| MySQL基准测试 | 1、生成数据 2、测试(读) 3、测试(写) 4、清理数据 |
| 目录 | 章节 |
|---|---|
| 认识事务 | 认识事务 |
| 事务控制语句 | 1、开启事务 2、事务提交 3、事务回滚 |
| 事务的实现方式 | 1、原子性 2、一致性 3、隔离性 4、持久性 |
| purge thread线程 | purge thread线程 |
| 事务统计QPS与TPS | 1、QPS 2、TPS |
| 事务隔离级别 | 1、隔离级别 2、查看隔离级别 3、设置隔离级别 4、不同隔离级别下会产生什么隔离效果 |
| 事务组提交group commit | 组提交 |
| 事务两阶段提交 | 两阶段提交 |
| MVCC多版本并发控制 | 1、MVCC原理 2、MVCC案例 |
| 目录 | 章节 |
|---|---|
| 认识锁 | 1、锁的作用 2、加锁的过程 3、锁对象:事务 |
| innodb行锁 | 1、行锁类型 2、共享锁(S锁) 3、排他锁(X锁) |
| 索引对行锁粒度的影响 | 1、行锁粒度有哪些 2、在RC隔离级别下不同索引产生的锁的范围 3、RR隔离级别下不同索引产生锁的范围 |
| FTWRL全局读锁 | FTWRL全局读锁 |
| innodb表锁 | innodb表锁 |
| innodb意向锁与MDL锁 | 1、意向锁 2、意向锁作用 3、意向锁冲突情况 4、MDL锁 |
| 自增锁 | 自增锁 |
| 插入意向锁 | 插入意向锁 |
| 死锁 | 1、什么是死锁 2、相关参数 3、避免死锁 4、锁的状态 |
| 两阶段锁协议 | 两阶段锁协议 |
| 目录 | 章节 |
|---|---|
| 1. 系统状态 | show status |
| 2. 慢查询 | 2.1 慢查询开启 2.2 简单示例 2.3 数据准备 |
| 3. mysqldumpslow | 3.1 语法 3.2 常见用法 |
| 4. pt-query-digest | 4.1 安装 4.2 语法选项 4.3 报告解读 4.4 用法示例 |
| 5. 优化工具(soar) | 5.1 安装配置 5.2 添加数据库 5.3 语句优化 |
15、备份恢复原理和实战_逻辑备份_物理备份_金融行业备份还原脚本
| 目录 | 章节 |
|---|---|
| 1.生产中备份方式 | 1.1 物理备份与逻辑备份 1.2 联机与脱机备份 1.3 完整备份与增量备份 1.4 常用命令 |
| 2.mysqldump备份 | 2.1 相关参数 2.2 备份所有数据库 2.3 备份指定数据库 2.4 备份指定表 2.6 只导出结构 2.7 只导出数据 2.8 --tab(生成文本,类似load) 2.8 mysqldump原理 2.9 binlog异步备份 2.10 利用mysqldump全备及binlog恢复数据 |
| 3.xtrabackup | 3.1 Xtrabackup安装 3.2 原理 3.2 备份过程 3.4 恢复原理 3.3 相关参数 3.4 xtrabackup相关文件 3.5 备份示例 3.6 还原示例 |
| 4.binlog备份和恢复(数据库恢复) | 4.1 找到恢复时间点 4.2 增量恢复 |
| 5. 生产环境的备份恢复实战 | 5.1 实施部署 5.1.1 环境清单 5.1.2 备份目的 5.1.3 备份说明 5.1.4 实施步骤 5.1.5 全备脚本 5.1.6 差异备份脚本 5.2 实施部署备份还原 5.2.1 Xtraback还原全量/差异备份 5.2.2 故障点数据恢复 5.2.3 增量恢复 |
16、主从复制,gtid,并行复制_半同步复制_实操案例_常用命令_故障处理
| 目录 | 章节 |
|---|---|
| 1.认识主从复制 | 1.1 主从复制原理深入讲解 1.2 主从复制相关参数 1.3.主从复制架构部署 1.4从库状态详解 1.5 .过滤复制 |
| 2 .gtid复制 | 2.1 什么是GTID? 2.2 GTID主从配置 2.5 gtid维护 2.4 GTID的特点 2.3 工作原理 2.4 gtid相关状态行和变量 |
| 3. 并行复制 | 3.1 延迟的原因 3.2 并行复制设置 3.3 查看并行复制 |
| 4. 增强半同步复制 | 4.1 异步复制 4.2 半同步复制 4.3 增强半同步复制 4.4 配置增强半同步 |
| 5. 案例 | 5.1 主库删除操作导致sql线程关闭案例 5.2 主从复制中断解决方案及案例 5.3 延迟复制 5.4 主库drop误操作利用延迟复制恢复案例 |
| 6 常用命令 | 6.1 启动线程 6.2 关闭线程 6.3 查看 6.4 重置 6.5 主从数据一致性校验 |
| 目录 | 章节 |
|---|---|
| MHA | 介绍 |
| 架构和相关组件 | 架构和相关组件 |
| 工作流程 | 工作流程 |
| MHA高可用架构部署 | 1、环境准备 2、软件安装 3、创建软链接 4、配置各节点互信 5、节点免密验证 6、mha管理用户 7、配置文件 8、状态检查 9、开启MHA |
| 主库宕机故障模拟及处理 | 主库宕机故障模拟及处理 |
| MHA VIP自动切换 | VIP自动切换 |
| MHA主从数据自动补足 | MHA主从数据自动补足 |
| 目录 | 章节 |
|---|---|
| Atlas读写分离高性能架构 | 介绍 |
| 安装配置 | 安装配置 |
| 配置注解 | 配置注解 |
| 启动和关闭 | 启动和关闭 |
| 读写分离架构应用 | 读写分离架构应用 |
| 创建应用用户 | 创建应用用户 |
| Atlas在线管理 | Atlas在线管理 |
| 读写分离避坑指南 | 读写分离避坑指南 |
| 目录 | 章节 |
|---|---|
| 1.MyCAT分布式架构入门及双主架构 | 1.1 主从架构 1.2 MyCAT安装 1.3 启动和连接 1.4 配置文件介绍 |
| 2.MyCAT读写分离架构 | 2.1 架构说明 2.2 创建用户 2.3 schema.xml 2.4 连接说明 2.5 读写测试 2.6 当前是单节点 |
| 3.MyCAT高可用读写分离架构 | 3.1 架构说明 3.3 schema.xml(配置) 3.4 文件详解 3.4.1 schema标签 3.4.2 table标签 3.4.3 dataNode标签 3.4.4 dataHost 3.4 读写测试 3.5 故障转移 |
| 4.MyCAT垂直分表 | 4.1 架构 4.2 新建表 4.3 配置mycat 4.4 验证 |
| 5 MyCAT水平分表-范围分片 | 5.1 新建表 5.2 schema.xml 5.2 rule.xml 5.3 autopartition-long.txt 5.4 验证 |
| 6. MyCAT水平分表-取模分片 | 取模分片 |
| 7. MyCAT水平分表-枚举分片 | 枚举分片 |
| 8. MyCAT全局表与ER表 | 全局与ER表 |
| 8.1 全局表 | 8.1.1 特性 8.1.2 建表 8.1.3 配置 8.1.4 验证 8.1.5 分析总结(执行计划) |
| 8.2 ER表 | 8.2.1 特性 8.2.2 建表 8.2.3 配置 8.2.4 测试验证,子表是否跟随父表记录分片 8.2.5 分析总结(执行计划) |
| 目录 | 章节 |
|---|---|
| 1. sysbench | 1.1 用途 1.2 安装 1.3 版本 1.4 查看帮助 1.5 测试过程阶段 |
| 2 CPU 性能测试 | 2.1 测试原理 2.2 查看帮助 2.3 测试 |
| 3. 内存性能测试 | 3.1 查看帮助信息 3.2 测试过程 |
| 4.磁盘性能基准测试 | 4.1 查看帮助 4.2 生成文件(prepare) 4.3 测试文件io(run) 4.4 结果分析 4.5 清除文件(cleanup) |
| 5. 线程测试 | 5.1 查看帮助信息 5.2 测试过程 |
| 6. MySQL基准测试 | 6.1 语法参数 6.2 生成数据 6.3 测试(读) 6.4 测试(写) 6.5 清理数据 |
[转帖]1. awk基础,awk介绍,awk基本语法,直接使用action,打印列,初识列和行,\$0、\$NF、NF,基础示例,begin模式,end模式的更多相关文章
- Day1 - Python基础1 介绍、基本语法、流程控制
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- week1 - Python基础1 介绍、基本语法、流程控制
知识内容: 1.python介绍 2.变量及输入输出 3.分支结构 4.循环结构 一.python介绍 Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发 ...
- Python基础1 介绍、基本语法
---恢复内容开始--- 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表 ...
- Python基础1 介绍、基本语法 、 流程控制-DAY1
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1 介绍、基本语法、流程控制
本节内容 1.python介绍 2.发展史 3.python 2.x or python 3.x ? 4.python 安装 5.第一个程序 Hello World 程序 6.变量 7.用户输入 8. ...
- Linux基础教程 linux awk内置变量使用介绍
awk是个优秀文本处理工具,可以说是一门程序设计语言.下面是兄弟连Linux培训 给大家介绍的awk内置变量. 一.内置变量表 属性 说明 $0 当前记录(作为单个变量) $1~$n 当前记录的第n个 ...
- 『忘了再学』Shell基础 — 27、AWK编程的介绍和基本使用
目录 1.AWK介绍 (1)AWK概述 (2)printf格式化输出 (3)printf命令说明 2.AWK的基本使用 (1)AWK命令说明 (2)AWK命令使用 1.AWK介绍 (1)AWK概述 A ...
- awk命令简单介绍
简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...
- awk程序设计语言之-awk基础
awk程序设计语言之-awk基础 http://man.linuxde.net/ 常用工具命令之awk命令 awk是一种编程语言,用于在Linux/Unix下对文本和数据处理.数据可以来自标准输入(s ...
- awk 实用案例介绍
awk 简介 • awk是 3 个姓氏的首字母,代表该语言的 3 个作者 • awk的版本有很多,包括: 旧版 awk,新版 awk(nawk), GNUawk(gawk)等 • awk程序有 awk ...
随机推荐
- 2023-05-30:Redis6.0为什么要引入多线程呢?
2023-05-30:Redis6.0为什么要引入多线程呢? 答案2023-05-30: Redis多线程比单线程性能提升一倍: Redis 6.0 引入多线程 IO 特性对性能提升至少是一倍以上.据 ...
- Prometheus配置Basic Auth进行安全防护,实现登录控制
本文分享自华为云社区<Prometheus配置Basic Auth进行安全防护,实现登录控制>,作者:可以交个朋友. 一.Prometheus Basic Auth 使用背景 在日常pro ...
- 【API 进阶之路】做 OCR 文字识别,谁说必须要有 AI 工程师?
摘要:有些功能还真不能光凭自己的直觉和认识,来自一线的声音才是最真实的用户需求.比方说名片录入的需求. 在公司技术委员会副主席这个位置上干了有几个月了,期间,我一方面给研发团队整理各种文档资料,做技术 ...
- 数据湖探索DLI新功能:基于openLooKeng的交互式分析
摘要:基于华为开源openLooKeng引擎的交互式分析功能,将重磅发布便于用户构建轻量级流.批.交互式全场景数据湖. 在这个"信息爆炸"的时代,大数据已经成为这个时代的关键词之一 ...
- 华为云PB级数据库GaussDB(for Redis)解析第二期:Redis消息队列Stream的应用探讨
摘要:本文将对Stream的常用命令和应用场景进行介绍,并探讨原生Redis Stream消息队列的缺陷以及GaussDB(for Redis)提供的解决方案,供大家学习和选用. 华为云高斯Redis ...
- 买家手册:企业在选择 SBOM 供应商时需要注意什么?
Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一 ...
- Axure 辅助线--栅格化布局
全局辅助线 在所有页面都会显示,比如主页面是框架.子页面通过[内联框架]去加载,为了子页面的元件不偏移,可以创建创建全局辅助线 页面辅助线
- MongoDB 读写分离——Windows MongoDB 副本集配置
本文基于:MongoDB 读写分离--MongoDB 安装 参考:https://docs.mongodb.com/manual/tutorial/deploy-replica-set-for-tes ...
- Rocketmq学习2——Rocketmq消息过滤&事务消息&延迟消息原理源码浅析
系列文章目录和关于我 零丶引入 在<Rocketmq学习1--Rocketmq架构&消息存储&刷盘机制>中我们学习了rocketmq的架构,以及消息存储设计,在此消息存储设 ...
- 比文件操作os库更优异的标准库pathlib
pathlib 库从 python3.4 开始作为内置库,到 python3.6 已经比较成熟.相比于老式的 os.path 有几个优势: 老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 ...