摘要: 本文更新于2021-11-03,使用Redis 4.0.8,操作系统为CentOS 7.5。 CentOS 7下直接运行redis-trib.rb可能出现如下提示,原因是没有安装Ruby: /usr/bin/env: ruby: No such file or directory 安装Ruby。 y 阅读全文
posted @ 2021-11-03 10:55 garvenc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-08-14,使用Docker 27.1.2,操作系统为Debian 12.6 (bookworm)。 目录dockerd服务目录和文件系统服务配置文件配置文件 说明:下文中,大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前 阅读全文
posted @ 2021-08-04 21:09 garvenc 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-07-05,操作系统为Debian 8.9。 致谢:https://hostloc.com/thread-484625-1-1.html 安装ipset。 sudo apt-get install ipset 将以下脚本保存至文件allcn.sh。 mmode=$1 #下面语句可 阅读全文
posted @ 2021-07-05 18:04 garvenc 阅读(2184) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-08-14。 目录安装在Debian安装使用脚本安装用户组 安装 官方安装文档:https://docs.docker.com/engine/install/ 可从https://download.docker.com/选择相应版本的安装包,或使用阿里云镜像站https://mi 阅读全文
posted @ 2021-06-07 08:50 garvenc 阅读(167) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2024-06-12,使用nginx 1.16。 目录变量运算符配置httphttp.client_max_body_sizehttp.serverhttp.server.client_max_body_sizehttp.server.listenhttp.server.locationh 阅读全文
posted @ 2021-04-30 14:00 garvenc 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-02-06,使用Redis 6.0.8,操作系统为Deepin 15.11。 复制步骤: 主服务器 从服务器 (等待命令进入) 连接(或者重连接)主服务器,发送SYNC命令 开始执行BGSAVE,并使用缓冲区记录BGSAVE之后执行的所有写命令 根据配置选项来决定是继续使用现有的 阅读全文
posted @ 2021-02-06 17:02 garvenc 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-02-02,使用Redis 6.0.8,操作系统为Deepin 15.11。 Redis的持久化有两种方式: 快照(snapshotting):将某一时刻的所有数据都写入磁盘中。 只追加文件(append-only file/AOF):将被执行的写命令追加到磁盘中。 当持久化需要 阅读全文
posted @ 2021-02-02 20:49 garvenc 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-05-09,使用Redis 6.0.8,操作系统为Deepin 15.11。 目录字符串(STRING)APPENDBITCOUNTBITOPDECRDECRBYGETGETBITGETRANGEINCRINCRBYINCRBYFLOATSETSETBITSETNXSETRANG 阅读全文
posted @ 2021-01-31 11:21 garvenc 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-11-30,使用Redis 6.0.8,操作系统为Deepin 15.11。 目录Linux下安装Docker下运行端口配置命令行工具redis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-sentinelredis 阅读全文
posted @ 2021-01-30 23:03 garvenc 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-07-22,使用Docker Compose 1.27.4,操作系统为Debian 10。 说明:本文中,大写为自定义变量,根据实际情况填写。使用<>引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 Docker Compose是一个简单的容器编配工具,可管理 阅读全文
posted @ 2020-11-29 22:02 garvenc 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-02-28,使用Docker 23.0.1。 官方文档参阅:https://docs.docker.com/engine/reference/builder/ Dockerfile所在的目录为构建上下文,Docker会在构建镜像时将构建上下文和该上下文中的文件和目录上传到Dock 阅读全文
posted @ 2020-11-26 19:52 garvenc 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-02-03,使用Docker 23.0.1,操作系统为Debian 11。 目录基本概念docker命令docker attachdocker builddocker commitdocker containerdocker container attachdocker cont 阅读全文
posted @ 2020-11-25 22:35 garvenc 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-06-16。 说明:下文中,大写为自定义变量(个别大写的类型除外),根据实际情况填写。使用<>引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 本文只说明简要的使用,更详细的使用可参阅MDN文档:https://developer.mozilla.org/en 阅读全文
posted @ 2020-09-01 20:22 garvenc 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 常见的监控系统有: Cacti:使用SNMP采集数据,RRDtool绘图。 Nagios:通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和4个可选的组件(NRPE、NSCA、N 阅读全文
posted @ 2020-08-06 18:53 garvenc 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 高可用有两个主流架构:MMM和MHA。 阅读全文
posted @ 2020-08-05 19:11 garvenc 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 Cluster是一组节点的组合,按照节点类型可分为3部分: 管理节点:只能有一个,使用config.ini配置文件进行维护。 SQL节点:存放表结构,应用只能先访问SQL节点,然后SQL节点再访问数据节点返回 阅读全文
posted @ 2020-08-04 18:34 garvenc 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 复制是指将主库的DDL和DML操作通过二进制日志传到从库上,然后从库对这些日志重做,从而使得主库和从库的数据保持同步。 复制的优点有: 如果主库出现问题,可以快速切换到从库提供服务。 可以在从库上执行查询操作 阅读全文
posted @ 2020-08-03 18:38 garvenc 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL的备份分为逻辑备份和物理备份,物理备份分为冷备份和热备份。恢复分为完全恢复和不完全恢复,不完全恢复又分为基于时间点的恢复和基于位置的恢复。 逻辑备份和恢复 使用mysqldump进行逻辑备份,如my 阅读全文
posted @ 2020-07-29 19:20 garvenc 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL有4种日志:错误日志、二进制日志(BINLOG)、查询日志、慢查询日志。 错误日志 错误日志记录了mysqld的启动和停止,以及运行过程中发生的严重错误,其格式为纯文本,默认开启。 SHOW VAR 阅读全文
posted @ 2020-07-28 19:51 garvenc 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 忘记roo密码 使用mysqld_safe --skip-grant-tables跳过权限系统启动服务。 不使用账号密码,直接使用mysql登录。 使用UPDATE mysql.user SET authen 阅读全文
posted @ 2020-07-27 18:35 garvenc 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 权限 权限存取需要用到mysql库中user、db、host、tables_priv、columns_prvi这几个权限表。列分为4个部分:用户列、权限列、安全列、资源控制列。权限列又分为普通权限和管理权限。 阅读全文
posted @ 2020-07-23 18:54 garvenc 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。 应用可使用PrepareStatement + Bind-Variable来防止SQL注入。 已知的非法符号有: ( ) < > [ ] /* */ -- # ; = ' + 空格 % 阅读全文
posted @ 2020-07-22 18:33 garvenc 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵。 减少对MySQL的访问 应用应避免对同一数据做重复检索,减少对数据库无谓的重复访问。 在应用端增加CACHE层可减轻数据库的负担。 负载均衡 负载均衡 阅读全文
posted @ 2020-07-21 19:37 garvenc 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用符号连接分布IO 利用操作系统的符号连接,将不同的数据库、表、索引指向不同的物理磁盘,从而达到分布磁盘IO的目的。 禁止操作系统更新文件的atime属性 对于读写频繁的数据库文件来说,记录文件的访问时间一 阅读全文
posted @ 2020-07-20 19:28 garvenc 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL体系结构 MySQL实例由一组后台线程、一些内存块和若干服务线程组成。 后台线程包括: 主线程:主要负责将脏缓存页刷新到数据文件,执行purge操作,触发检查点,合并插入缓冲区等。 IO线程: in 阅读全文
posted @ 2020-07-18 15:43 garvenc 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-08-18,使用MySQL 5.7,操作系统为Deepin 15.4。 一旦数据库对象设计完毕并投入使用,再进行修改就比较麻烦。 优化表的数据类型 select_statement PROCEDURE ANALYSE([max_elements[, max_memory]]) 对 阅读全文
posted @ 2020-07-16 19:26 garvenc 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-08-18,使用MySQL 5.7,操作系统为Deepin 15.4。 优化SQL语句的步骤 通过SHOW STATUS了解SQL语句的执行情况 操作的计数,是对执行次数进行计数,不论提交还是回滚都会累加。 Com_xxx形式的参数表示每个xxx语句执行的次数,对所有的存储引擎都 阅读全文
posted @ 2020-07-15 20:45 garvenc 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 安装 MySQL Utilities需单独安装,如使用apt-get命令: apt-get install mysql-utilities 分类 MySQL工具根据用途可以分为如下几类: 审计日志管理:mys 阅读全文
posted @ 2020-07-14 19:04 garvenc 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-08-05,使用MySQL 5.7,操作系统为Deepin 15.4。 在指定参数选项时有两种方式: “-”+单个缩写字符+值,值前可加上空白符(“-p”选项例外,若加上则认为稍后输入密码,空白后面的值并不被认作密码)。 “--”+完整单词+“=”+值 所有工具会使用一些通用选项 阅读全文
posted @ 2020-07-11 18:28 garvenc 阅读(820) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。 与其他数据库不同,MySQL可以运行在不同的SQL Mode(SQL模式)下。 可通过变量@@sql_mode查看或设置当前的SQL Mode。 下面是一些常用的SQL Mode: ANSI:使语法和行为更符 阅读全文
posted @ 2020-07-09 19:21 garvenc 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-30,使用MySQL 5.7,操作系统为Deepin 15.4。 分区类型 可以使用SHOW PLUGINS查看是否安装了分区插件。 MySQL创建分区表支持使用大部分存储引擎,但不支持使用MERGE或CSV存储引擎。同一个分区表的所有分区必须使用同一种存储引擎。 MySQ 阅读全文
posted @ 2020-07-08 19:15 garvenc 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-09-22,使用MySQL 5.7,操作系统为Deepin 15.4。 锁 锁概述 MyISAM和MEMORY存储引擎使用表级锁。BDB存储引擎进使用页级锁,但也支持表级锁。InnoDB存储引擎默认使用行级锁,也支持表级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生 阅读全文
posted @ 2020-07-07 19:01 garvenc 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。 SQL语句 为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。 CREATE TRIGGER triggername BEFORE|AFTER INSERT|UPDATE|DELETE 阅读全文
posted @ 2020-07-06 19:49 garvenc 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。 SQL语句 创建存储过程或函数 创建存储过程: CREATE PROCEDURE name ({[IN|OUT|INOUT] param type}[, ...]) [characteristic] body 阅读全文
posted @ 2020-07-05 09:28 garvenc 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-22,使用MySQL 5.7,操作系统为Deepin 15.4。 为了便于描述,此处将创建视图的DDL复述一次,其已于“SQL”章节描述。 CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}] VIEW vi 阅读全文
posted @ 2020-07-03 19:35 garvenc 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-07-27,使用MySQL 5.7,操作系统为Deepin 15.4。 在创建一个n列的复合索引时,实际是创建了n个索引。可利用索引中最左边的列集来匹配行,这样的列集称为最左前缀。 InnoDB表中的记录会按一定顺序存储。如果有主键,则按主键顺序;如果没有主键但有唯一索引,则按唯 阅读全文
posted @ 2020-07-02 19:09 garvenc 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-16,使用MySQL 5.7,操作系统为Deepin 15.4。 常用字符集 字符集 定长 代码宽度 说明 ASCII或ISO-646 是 1字节7位 英文字母、数字、标点符号和33个控制符 ISO-8859系列 是 1字节8位 各西欧字符集,兼容ASCII GB2312 阅读全文
posted @ 2020-07-01 19:58 garvenc 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。 和大多数数据库不同,插件式存储引擎是MySQL最重要的特性之一。 InnoDB InnoDB表提供事务安全。 InnoDB表支持外键。创建外键时,要求父表必须有对应的索引,子表在创建外键时也会自动创建对应的索 阅读全文
posted @ 2020-06-30 19:14 garvenc 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-02-14,使用MySQL 5.7,操作系统为Deepin 15.4。 全局变量 变量 作用 CURRENT_DATE 当前日期 CURRENT_TIME 当前时间 CURRENT_TIMESTAMP 当前日期时间 数值函数 函数 作用 ABS(x) 绝对值 CEIL(x) 向上 阅读全文
posted @ 2020-06-28 18:51 garvenc 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-07-31,使用MySQL 5.7,操作系统为Deepin 15.4。 目录算数运算符比较运算符逻辑运算符位运算符运算符优先级 算数运算符 运算符 语法 说明 + a + b 加法 - a - b 减法 * a * b 乘法 / a / b 除法。类似DIV,但DIV会对结果取整 阅读全文
posted @ 2020-06-24 19:48 garvenc 阅读(278) 评论(0) 推荐(0) 编辑