摘要:本文更新于2020-08-06。 C/C++ 生成并调用so动态库 Git Git学习笔记 Go Linux安装Go Go文档:Command go Go使用protobuf IDE/Editor LiteIDE灰调配色方案 VSCode自定义配色方案 Linux Linux学习笔记:常用命令 Li 阅读全文
posted @ 2019-07-24 19:27 garvenc 阅读(96) 评论(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 阅读(6) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 高可用有两个主流架构:MMM和MHA。 阅读全文
posted @ 2020-08-05 19:11 garvenc 阅读(5) 评论(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 阅读(21) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。 复制是指将主库的DDL和DML操作通过二进制日志传到从库上,然后从库对这些日志重做,从而使得主库和从库的数据保持同步。 复制的优点有: 如果主库出现问题,可以快速切换到从库提供服务。 可以在从库上执行查询操作 阅读全文
posted @ 2020-08-03 18:38 garvenc 阅读(21) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL的备份分为逻辑备份和物理备份,物理备份分为冷备份和热备份。恢复分为完全恢复和不完全恢复,不完全恢复又分为基于时间点的恢复和基于位置的恢复。 逻辑备份和恢复 使用mysqldump进行逻辑备份,如my 阅读全文
posted @ 2020-07-29 19:20 garvenc 阅读(31) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL有4种日志:错误日志、二进制日志(BINLOG)、查询日志、慢查询日志。 错误日志 错误日志记录了mysqld的启动和停止,以及运行过程中发生的严重错误,其格式为纯文本,默认开启。 SHOW VAR 阅读全文
posted @ 2020-07-28 19:51 garvenc 阅读(88) 评论(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 阅读(54) 评论(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 阅读(30) 评论(0) 推荐(0) 编辑
摘要:本文更新于2019-06-29,使用MySQL 5.7,操作系统为Deepin 15.4。 应用可使用PrepareStatement + Bind-Variable来防止SQL注入。 已知的非法符号有: ( ) < > [ ] /* */ -- # ; = ' + 空格 % 阅读全文
posted @ 2020-07-22 18:33 garvenc 阅读(43) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用连接池 对于访问数据库来说,建立连接的代价比较昂贵。 减少对MySQL的访问 应用应避免对同一数据做重复检索,减少对数据库无谓的重复访问。 在应用端增加CACHE层可减轻数据库的负担。 负载均衡 负载均衡 阅读全文
posted @ 2020-07-21 19:37 garvenc 阅读(38) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 使用符号连接分布IO 利用操作系统的符号连接,将不同的数据库、表、索引指向不同的物理磁盘,从而达到分布磁盘IO的目的。 禁止操作系统更新文件的atime属性 对于读写频繁的数据库文件来说,记录文件的访问时间一 阅读全文
posted @ 2020-07-20 19:28 garvenc 阅读(45) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 MySQL体系结构 MySQL实例由一组后台线程、一些内存块和若干服务线程组成。 后台线程包括: 主线程:主要负责将脏缓存页刷新到数据文件,执行purge操作,触发检查点,合并插入缓冲区等。 IO线程: in 阅读全文
posted @ 2020-07-18 15:43 garvenc 阅读(50) 评论(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 阅读(42) 评论(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 阅读(89) 评论(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 阅读(33) 评论(0) 推荐(0) 编辑
摘要:本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。 在指定参数选项时有两种方式: “-”+单个缩写字符+值,值前可加上空白符(“-p”选项例外,若加上则认为稍后输入密码,空白后面的值并不被认作密码)。 “--”+完整单词+“=”+值 所有工具会使用一些通用选项 阅读全文
posted @ 2020-07-11 18:28 garvenc 阅读(45) 评论(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 阅读(49) 评论(0) 推荐(0) 编辑
摘要:本文更新于2019-06-30,使用MySQL 5.7,操作系统为Deepin 15.4。 分区类型 可以使用SHOW PLUGINS查看是否安装了分区插件。 MySQL创建分区表支持使用大部分存储引擎,但不支持使用MERGE或CSV存储引擎。同一个分区表的所有分区必须使用同一种存储引擎。 MySQ 阅读全文
posted @ 2020-07-08 19:15 garvenc 阅读(178) 评论(0) 推荐(0) 编辑
摘要:本文更新于2019-09-22,使用MySQL 5.7,操作系统为Deepin 15.4。 锁 锁概述 MyISAM和MEMORY存储引擎使用表级锁。BDB存储引擎进使用页级锁,但也支持表级锁。InnoDB存储引擎默认使用行级锁,也支持表级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生 阅读全文
posted @ 2020-07-07 19:01 garvenc 阅读(69) 评论(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 阅读(34) 评论(0) 推荐(0) 编辑