摘要: 本文更新于2021-02-02,使用Redis 6.0.8,操作系统为Deepin 15.11。 Redis的持久化有两种方式: 快照(snapshotting):将某一时刻的所有数据都写入磁盘中。 只追加文件(append-only file/AOF):将被执行的写命令追加到磁盘中。 当持久化需要 阅读全文
posted @ 2021-02-02 20:49 garvenc 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-07-16,使用Redis 6.0.8,操作系统为Deepin 15.11。 说明:本文中,小写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 官方文档参看:https://redis.io/commands 字符串 阅读全文
posted @ 2021-01-31 11:21 garvenc 阅读(793) 评论(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 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-07-22,使用Docker Compose 1.27.4,操作系统为Debian 10。 说明:本文中,大写为自定义变量,根据实际情况填写。使用<>引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 Docker Compose是一个简单的容器编配工具,可管理 阅读全文
posted @ 2020-11-29 22:02 garvenc 阅读(534) 评论(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 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-11-08,使用Docker 23.0.1,操作系统为Debian 11。 目录基本概念docker命令docker attachdocker builddocker commitdocker containerdocker container attachdocker cont 阅读全文
posted @ 2020-11-25 22:35 garvenc 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-06-16。 说明:下文中,大写为自定义变量(个别大写的类型除外),根据实际情况填写。使用<>引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 本文只说明简要的使用,更详细的使用可参阅MDN文档:https://developer.mozilla.org/en 阅读全文
posted @ 2020-09-01 20:22 garvenc 阅读(356) 评论(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 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 高可用有两个主流架构:MMM和MHA。 阅读全文
posted @ 2020-08-05 19:11 garvenc 阅读(111) 评论(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 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 复制是指将主库的DDL和DML操作通过二进制日志传到从库上,然后从库对这些日志重做,从而使得主库和从库的数据保持同步。 复制的优点有: 如果主库出现问题,可以快速切换到从库提供服务。 可以在从库上执行查询操作 阅读全文
posted @ 2020-08-03 18:38 garvenc 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL的备份分为逻辑备份和物理备份,物理备份分为冷备份和热备份。恢复分为完全恢复和不完全恢复,不完全恢复又分为基于时间点的恢复和基于位置的恢复。 逻辑备份和恢复 使用mysqldump进行逻辑备份,如my 阅读全文
posted @ 2020-07-29 19:20 garvenc 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL有4种日志:错误日志、二进制日志(BINLOG)、查询日志、慢查询日志。 错误日志 错误日志记录了mysqld的启动和停止,以及运行过程中发生的严重错误,其格式为纯文本,默认开启。 SHOW VAR 阅读全文
posted @ 2020-07-28 19:51 garvenc 阅读(323) 评论(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 阅读(303) 评论(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 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。 应用可使用PrepareStatement + Bind-Variable来防止SQL注入。 已知的非法符号有: ( ) < > [ ] /* */ -- # ; = ' + 空格 % 阅读全文
posted @ 2020-07-22 18:33 garvenc 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵。 减少对MySQL的访问 应用应避免对同一数据做重复检索,减少对数据库无谓的重复访问。 在应用端增加CACHE层可减轻数据库的负担。 负载均衡 负载均衡 阅读全文
posted @ 2020-07-21 19:37 garvenc 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用符号连接分布IO 利用操作系统的符号连接,将不同的数据库、表、索引指向不同的物理磁盘,从而达到分布磁盘IO的目的。 禁止操作系统更新文件的atime属性 对于读写频繁的数据库文件来说,记录文件的访问时间一 阅读全文
posted @ 2020-07-20 19:28 garvenc 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL体系结构 MySQL实例由一组后台线程、一些内存块和若干服务线程组成。 后台线程包括: 主线程:主要负责将脏缓存页刷新到数据文件,执行purge操作,触发检查点,合并插入缓冲区等。 IO线程: in 阅读全文
posted @ 2020-07-18 15:43 garvenc 阅读(487) 评论(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 阅读(247) 评论(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 阅读(657) 评论(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 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-08-05,使用MySQL 5.7,操作系统为Deepin 15.4。 在指定参数选项时有两种方式: “-”+单个缩写字符+值,值前可加上空白符(“-p”选项例外,若加上则认为稍后输入密码,空白后面的值并不被认作密码)。 “--”+完整单词+“=”+值 所有工具会使用一些通用选项 阅读全文
posted @ 2020-07-11 18:28 garvenc 阅读(699) 评论(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 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-30,使用MySQL 5.7,操作系统为Deepin 15.4。 分区类型 可以使用SHOW PLUGINS查看是否安装了分区插件。 MySQL创建分区表支持使用大部分存储引擎,但不支持使用MERGE或CSV存储引擎。同一个分区表的所有分区必须使用同一种存储引擎。 MySQ 阅读全文
posted @ 2020-07-08 19:15 garvenc 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-09-22,使用MySQL 5.7,操作系统为Deepin 15.4。 锁 锁概述 MyISAM和MEMORY存储引擎使用表级锁。BDB存储引擎进使用页级锁,但也支持表级锁。InnoDB存储引擎默认使用行级锁,也支持表级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生 阅读全文
posted @ 2020-07-07 19:01 garvenc 阅读(442) 评论(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 阅读(238) 评论(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 阅读(562) 评论(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 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-07-27,使用MySQL 5.7,操作系统为Deepin 15.4。 在创建一个n列的复合索引时,实际是创建了n个索引。可利用索引中最左边的列集来匹配行,这样的列集称为最左前缀。 InnoDB表中的记录会按一定顺序存储。如果有主键,则按主键顺序;如果没有主键但有唯一索引,则按唯 阅读全文
posted @ 2020-07-02 19:09 garvenc 阅读(334) 评论(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 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。 和大多数数据库不同,插件式存储引擎是MySQL最重要的特性之一。 InnoDB InnoDB表提供事务安全。 InnoDB表支持外键。创建外键时,要求父表必须有对应的索引,子表在创建外键时也会自动创建对应的索 阅读全文
posted @ 2020-06-30 19:14 garvenc 阅读(284) 评论(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 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-08-26,使用MySQL 5.7,操作系统为Deepin 15.4。 目录算数运算符比较运算符逻辑运算符位运算符运算符优先级 算数运算符 运算符 语法 说明 + a + b 加法 - a - b 减法 * a * b 乘法 / a / b 除法。类似DIV,但DIV会对结果取整 阅读全文
posted @ 2020-06-24 19:48 garvenc 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-04-17,使用MySQL 5.7,操作系统为Deepin 15.4。 数值类型 整数类型 type[(m)] [UNSIGNED] [ZEROFILL] [AUTO_INCREMENT] 类型 字节 最小值 最大值 TINYINT 1 有符号-128,无符号0 有符号127,无 阅读全文
posted @ 2020-06-19 19:53 garvenc 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 本文章更新于2023-08-26,使用MySQL 5.7,操作系统为Deepin 15.9。 目录关键字DDL语句创建数据库删除数据库修改数据库创建表删除表修改表创建索引删除索引创建视图修改视图删除视图存储过程和函数创建事件修改事件删除事件创建触发器删除触发器DML语句插入记录更新记录删除记录查询记 阅读全文
posted @ 2020-06-18 19:13 garvenc 阅读(687) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2020-05-30,使用MySQL 5.7,操作系统为Deepin 15.4。 配置文件 Windows下配置文件的读取顺序: %WINDIR%/my.ini C:/my.cnf INSTALL_DIR/my.ini,INSTALL_DIR为实际的安装目录 --defaults-extr 阅读全文
posted @ 2020-06-17 19:17 garvenc 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-04-10。 安装 在Windows下可以采用noinstall包或图形化安装,在Linux下可以采用apt-get/dpkg、yum/rpm、二进制包、源码包安装。 使用apt-get安装 以Deepin 15.9下安装MySQL 5.7为例。 sudo apt-get ins 阅读全文
posted @ 2020-06-16 19:52 garvenc 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-05-12。 官方文档参阅:http://supervisord.org/ 安装 CentOS下安装 以CentOS 7.5 为例。 yum install supervisor Debian下安装 以Debian 8.9 (jessie)为例。 apt install supe 阅读全文
posted @ 2020-04-16 19:11 garvenc 阅读(7649) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-03-28。 目录安装Windows下安装Linux下安装运行日志Docker下运行 安装 各系统的安装包可于官网http://nginx.org/en/download.html下载。 Windows下安装 从http://nginx.org/download/nginx-1. 阅读全文
posted @ 2020-04-10 19:01 garvenc 阅读(1103) 评论(0) 推荐(0) 编辑