- 博客(33)
- 资源 (6)
- 收藏
- 关注
原创 【MySQL 8.0 Reference Manual】阅读目录
MySQL 8.0 Reference Manual 阅读计划说明:手册版本: refman-8.0-en.a4.pdf 版本共 5574 页,更新时间为 2020-09-04 (revision:67247)查看官网更新:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/基于当前最新版本 8.0.23 ,读完估计要再发布 1- 2 个小版本。*NDB 部分直接跳过,不在学习计划之内目录*此处仅展开二级目录结构,非重点略过需要和法律声明1 一般
2020-09-08 18:16:56 407
原创 Redhat7-MySQL5.7_Xenon 高可用安装步骤
在基于 MySQL 传统复制的时代(MySQL 版本低于 5.5),MHA 在 MySQL 高可用中可以说是非常成熟。在 MySQL 5.6 及 GTID 的出现后,MHA 由于没有及时的与 MySQL 新的特性一起及时更新,并且据说 MHA 作者基本放弃对该软件的维护了,MHA 作者目前在 Facebook 就职,自身也没再使用 MHA,他也认为在 GTID 环境下 MHA 存在的价值不大,但是使用 MySQL 的话,我找不到一个不用 GTID 的理由,无论是从功能、性能还是从维护的角度,GTID 自身所
2021-05-26 16:56:53 299
原创 【Redis 核心技术与实战】01 | 基本架构:一个键值数据库包含什么?
建立“系统观”,对总体架构和关键模块有一个全局的认知。然后再深入具体技术点。笔记:Redis 能够在实际业务中得到广泛的应用,得益于支持多样化类型的 value;常见操作 PUT、GET、DELETE;SCAN 获取一段 key 的范围值存在内存,一般 百 ns 访问级别,风险:掉电数据丢失;存在外存,避免数据丢失,受限慢速读写 ms 级别;设计 SimpleKV一个简直数据库包括:访问框架、索引模块、操作模块、存储模块;采用什么访问方式?动态库访问 libsimplekv.so
2020-09-08 16:15:30 544
原创 《Redis开发与运维》各章重点回顾
第 1 章 初识 RedisRedis 8个特性:速度快、基于键值对的数据结构服务器、功能丰富、简单稳定、客户端语言多、持久化、主从复制、支持高可用和分布式。Redis 不是万金油,有些场景不适合 Redis 进行开发。开发运维解合以及阅读源码是用好 Redis 的重要方法。生产环境中使用配置文件启动 Redis。生产环境选取稳定版本的 Redis。Redis 3.0 是重要的里程碑,发布了 Redis 官方的分布式实现 Redis Cluster。第 2 章 API 的理解和使用Re
2020-07-21 14:27:46 246
原创 MySQL Shell 8.0 官方手册【第五章:代码执行】
一、语言选择前几篇我们知道了 MySQL Shell 支持三种语言模式,但一次只能激活使用一种,模式自己决定。如果 SQL 模式,直接发送到 MySQL 服务器执行;如果 Javascript 模式,将被作为 Javascript 代码处理;如果 Python 模式,将被作为 Python 代码处理。在 MySQL Shell 的交互模式下运行。激活特定语言使用命令: \sql ,\...
2020-04-21 16:17:56 1916 2
原创 MySQL Shell 8.0 官方手册【第四章:入门操作】
本章讲解 MySQL Shell 的一些入门操作。一、MySQL Shell 会话我们通过执行 mysqlsh 命令开启一个 MySQL Shell 客户端。> mysqlsh开启 MySQL Shell 后,没有连接 MySQL 服务器,默认以 JavaScript 模式登录(可以设置),你可以通过 \py 或 \sql 命令切换不同脚本模式。1.1 在开启 MySQL Sh...
2020-04-20 15:54:30 2756 1
原创 MySQL Shell 8.0 官方手册【第三章:命令】
MySQL Shell 提供的命令使您能够修改代码编辑器的执行环境,例如,配置活动的编程语言或 MySQL Server 连接。下表列出了与当前选择的语言无关的可用命令。 由于命令需要独立于执行模式而可用,因此它们以转义序列 \ 字符开头。M’ySQL Shell 命令列表命令别名或缩写描述\help\h or \?帮助\quit\q or \exit退出...
2020-04-17 14:14:53 1457 1
原创 MySQL Shell 8.0 官方手册【第二章:安装】
一、在 Windows 上安装要使用 MSI 安装程序在 Windows 上安装 MySQL Shell,请执行以下操作:从 http://dev.mysql.com/downloads/shell/ 下载 Windows(x86,64 位)MSI 安装程序包;出现提示时,单击 Run;请按照安装向导中的步骤进行操作。重要在安装 MySQL Shell 之前,请确保已在 Wind...
2020-04-16 15:46:12 632
原创 MySQL Shell 8.0 官方手册【第一章:功能】
MySQL Shell 提供以下功能。支持的语言MySQL Shell 可使用 JavaScript,Python 和 SQL 等三种语言编写代码;有一些前缀为 \ 的特定 MySQL Shell 命令;【具体参考本第三章】命令可用于配置 MySQL Shell,而与当前选择的语言无关;从 8.0.18 版开始,MySQL Shell 使用 Python 2.7 替换为 Python ...
2020-04-16 15:05:54 548
原创 MySQL Shell 8.0 官方手册【前言】
MySQL Shell 是一款高级的 MySQL Server 客户端和代码编辑器。本系列文档介绍了 MySQL Shell 的核心功能。除了提供的类似于 MySQL 的 SQL 功能外,MySQL Shell 还提供 JavaScript 和 Python 脚本功能,并包括与 MySQL 配合使用的 API。X DevAPI 使您能够使用关系数据和文档数据,请参阅《Using MySQL as ...
2020-04-16 13:59:45 515
原创 【MySQL实战45讲】03 | 事务隔离:为什么你改了我还看不见?
隔离级别越高,效率就越低!SQL 标准的事务隔离级别读未提交(read uncommitted)读提交(read committed)可重复读(repeatable read)串行化(serializable)三种可能发生的情况脏读不可重复读幻读三者从上到下是被包含关系,也就是说,如果有脏读,则一定存在幻读。随着隔离级别的提升,出现情况的种类依次减少。脏读两个事务 ...
2019-08-19 16:48:48 249
原创 【MySQL实战45讲】01|基础架构:一条SQL查询语句是如何执行的?
MySQL大体上可分为Server层和存储引擎层两部分:Server层连接器 / 查询缓存 / 分析器 / 优化器 / 执行器 / 内置函数 / 存储 / 触发器 / 试图等存储引擎层数据的存储和提取 / 插件式 / InnoDB(>5.5 默认)/ MyISAM / Memory连接器负责与客户端建立连接、获取权限、维持和管理链接。成功建立连接后,即使修改权限也要重新连接后才...
2019-08-19 15:08:44 1262
原创 【MySQL实战45讲】02|日志系统:一条SQL查询语句是如何执行的?
一条更新语句的执行流程又是怎么样的呢?更新流程除了上文书说到的分析器、优化器、执行器之外,还涉及到两个重要的日志模块:redo log(重做日志)和binlog(归档日志)。孔乙己赊账的例子redo logwrite pos是写入的位置,checkpoint是要擦除的位置,擦除前要将记录更新到数据文件中。write pos追上checkpoint时停止更新,先擦掉一些再推进checkpoi...
2019-08-19 15:08:34 387
原创 CentOS7.5 安装 MySQL 5.7.26 TAR免安装版(自用简略版)
一、准备工作检查是否存在 mariadb,如果存在移除rpm -e mariadb-version安装依赖包 libaio 和 libaio1yum -y install libaio*下载安装包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz...
2019-07-11 11:42:26 374
原创 给我个理由继续使用 Mycat
给我个理由继续使用 Mycat昨天是 2019 年 7 月 4 日,历史上的今天是美国独立日,也是四位美国前总统逝世的日子,有过往也有新生,是一个新老交替前赴后继的日子。“基于阿里开源的 Cobar 产品而研发,Cobar 的稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。”这段话来自 Mycat 官网上描...
2019-07-05 10:05:32 8671
原创 MySQL中与NULL相关的的问题
很多表都包含可为NULL的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性(TIMESTAMP除外),然而通常情况下最好指定列为NOT NULL,除非真的需要存储NULL值。如果查询中包含可为NULL的列,对MySQL来说更难优化,因为可为NULL的列使得索引统计和值比较更加复杂。可为NULL的列会使用更多的存储空间,在MySQL里也需要特殊的处理。当可为NUL...
2019-03-04 10:30:37 401
转载 【程序员的数学基础课-黄申】学习笔记 11-20
11讲树的深度优先搜索(上):如何才能高效率地查字典树的组成和深度遍历方式12讲树的深度优先搜索(下):如何才能高效率地查字典配合栈进行遍历,大大节省内存13讲树的广度优先搜索(上):人际关系的六度理论是真的吗广度搜索、用队列配合n层查找...
2019-01-24 14:41:40 1294
转载 【程序员的数学基础课-黄申】学习笔记 1-10
博客内容来自——极客学园>程序员的数学基础课现在数学在程序员的日常里重要性逐渐显现,但作者不建议去啃大学课本,可以先广度再深度。作者每节课都用心总结截图如下,建议购买课程更新学习01讲二进制:不了解计算机的源头,你学什么编程02讲余数:原来取余操作本身就是个哈希函数星期制分页hash散列加密长度一致的密文03讲迭代法:不用编程语言的自带函数,你会如何计算平方根...
2019-01-23 16:11:08 4740
转载 【从零开始学架构-李运华】10|架构设计流程:识别复杂度
架构设计第一步:识别复杂度架构设计的本质目的是为了解决系统复杂性,所以要先了解。【例】一个系统的复杂度来源于业务逻辑复杂,功能耦合度严重,架构师设计TPS达到50000/s的高性能架构没有意义。出现问题主要为了满足“高可用”“高性能”“可扩展”三个方面,就算同时出现也要分优先级。【例】亿级用户平台设计对标QQ,开始设计过于复杂,投入大量人力,上线后发现过度设计多此一举,而且带来很多...
2018-08-09 09:10:46 847
转载 【十分钟速成课:计算机科学】三十八节课截图
博客内容来自——网易公开课>国际名校公开课>十分钟速成课>计算机科学 传送门 根据在个人认为在学习中的重要程度,在标题后打星⭐第1集:计算机的早期历史⭐第2集:电子计算机 ⭐第3集:布尔逻辑和逻辑门⭐⭐⭐⭐⭐第4集:二进制 ⭐⭐⭐⭐⭐
2018-08-05 17:13:39 1491
转载 【从零开始学架构-李运华】10|架构设计流程:识别复杂度
架构设计第一步:识别复杂度架构设计的本质目的是为了解决系统复杂性,所以要先了解。【例】一个系统的复杂度来源于业务逻辑复杂,功能耦合度严重,架构师设计TPS达到50000/s的高性能架构没有意义。出现问题主要为了满足“高可用”“高性能”“可扩展”三个方面,就算同时出现也要分优先级。【例】亿级用户平台设计对标QQ,开始设计过于复杂,投入大量人力,上线后发现过度设计多此一举,而且带来很多...
2018-08-05 16:57:30 745
转载 【从零开始学架构-李运华】09|架构设计原则案例
【淘宝】 个人网站 > Oracle/支付宝/旺旺 > Java时代1.0 > Java时代2.0 > Java时代3.0 > 分布式时代买一个快速可用、快速开发的系统。MySQL升级Oracle,买性能 3. PHP切换Java,重构网站 4. 增加各种组件框架优化性能控制成本 5. 去IOE【手机QQ】 十万...
2018-07-20 16:44:40 1303
转载 【从零开始学架构-李运华】08|架构设计三原则
成为架构师是每个程序员的梦想,但并不意味着把编程做好就能够自然而然的成为一个架构师,优秀的程序员和架构师之间还有一个明显的鸿沟需要跨越,这个鸿沟就是“不确定性”架构设计并没有像编程语言那样的语法约束,更多的时候是面多多种可能时的“选择”例如:选先进的技术还是团队熟悉的技术?先进的出问题怎么办?熟悉的后续技术演化困难怎么办?用Angular还是React,一个很强大一个更灵活MyS...
2018-07-20 14:37:22 3097
转载 【从零开始学架构-李运华】07|低成本、安全、规模
低成本 高性能和高可用架构通常都是增加服务器来满足要求,但低成本正相反,当然也不是首要目标。 往往“创新”才能达到低成本的目标!!技术创新:NoSQL(Memcache、Redis)等是为了解决关系型数据库无法应对高并发带来的访问压力。全文搜索引擎(Sphinx、Elasticsearch、Slor)的出现是为了解决关系型数据库Like搜索的低效问题。Hadoop的出...
2018-07-17 16:48:21 823
转载 【从零开始学架构-李运华】06|复杂地来源:可扩展性
可扩展性指系统为了应对将来需求的变化而提供的一种扩展能力,新需求出现时系统不需要或者仅需要少量修改就可以支持,无需整个系统重构或者重建。 面向对象就是为了解决可扩展性,后来的设计模式更是将可扩展性做到了极致。具备良好扩展性的两个基本条件:正确预测变化、完美封装变化。预测变化架构师需要预测,但预测本身就存在不确定性复杂性在于:不能每个设计点都考虑可扩展性不能完全...
2018-07-17 15:12:05 539
转载 【从零开始学架构-李运华】05|复杂度来源:高可用
高可用的定义 系统无中断地执行其功能的能力,代表系统的可用性成都,是进行系统设计时的准则之一。 虽然方案五花八门但本质就是“冗余”!与高性能的区别 高性能增加机器在于扩展处理性能,高可用在于增加冗余单元防止中断。计算高可用 计算指的是业务逻辑处理能力。 a.增加任务分配器 b.任务分配器和业务服务器的链接和交互管理:建立连接、...
2018-07-17 09:16:37 1897
转载 【从零开始学架构-李运华】04|复杂度来源:高性能
复杂度的六个来源之一:高性能运算性能迅猛发展、软件复杂度发展、硬件存储发展。用来代替旧技术的新技术才会给软件系统带来复杂度,而用来淘汰旧技术的新技术则不用担心。 1.单台计算机 手工操作->批处理->进程->分时多进程->进程通信->线程(共享进程数据)->互斥锁机制 进程:操作系统分配资源的最小单位 线程:操作系统...
2018-07-14 20:26:03 2201
转载 【从零开始学架构-李运华】03|架构设计的目的
架构设计的误区 系统不一定需要架构设计; 架构设计不一定能提升开发效率; 好的架构设计能促进业务发展; 不是所有系统都需要架构设计; 等等……架构设计的真正目的 为了解决软件复杂度带来的问题如何下手架构设计? 1.熟悉和理解需求 2.架构设计并不是面面俱到,而是识别问题有针对性的解决 3.理解每个架构...
2018-07-14 13:52:22 2359
转载 【从零开始学架构-李运华】02|架构设计的历史背景
机器语言(1940年之前) 用0和1来表示机器可识别的指令和数据。 太难写、太难读、太难改汇编语言(20世纪40年代) 符号语言,本质上面对机器,需要程序员将现实世界问题按照机器逻辑进行翻译,编写复杂!!高级语言(20世纪50年代) 早期:Fortran、LISP、Cobol等 高级语言可以让程序员不需要关心机器底层的低级结构和逻辑,只需要...
2018-07-14 09:15:05 1415
转载 【从零开始学架构-李运华】01|架构到底是指什么?
大部分人无法回答准确以下问题。例如:1.架构和框架是什么关系?有什么区别?2.LInux有架构,MySQL有架构,JVM也有架构,使用Java开发、MySQL存储、跑在Linux上的业务系统也有架构,应该关注哪一个?3.微信有架构,微信的登陆系统也有架构,支付也有架构,我们谈微信架构谈的是什么?想要清楚以上问题需要梳理几个有关系又相似的概念:系统与子系统、模块与组建、框架与架构...
2018-07-14 08:53:08 4404
转载 【从零开始学架构-李运华】开篇词|照着做,你也能成为架构师!
一、架构设计相关的特性1. 架构设计的思维和程序设计的思维差异很大 架构设计的关键思维是判断和取舍 程序设计的关键思维是逻辑和实现2.架构设计没有体系化的培训和训练机制3.程序员对架构设计的理解存在很多误区 并没有那么高大上,这些误区令人望而生畏,选择放弃二、整套架构设计方法论和架构实践,包括以下内容 架构基础 本质、历史、...
2018-07-14 08:32:45 2875
原创 Apache2.4常用配置
Apache2.4配置一、开机自启动思考:能不能让源码包安装的apache像二进制包安装的apache一样方便的管理?[root@localhost ~]# cp `which apachectl` /etc/init.d/httpd[root@localhost ~]# vim /etc/init.d/httpd 在#!/bin/bash下加入:(前面需要'#')# chkconfig: 234...
2018-07-14 08:21:40 3895
vue.js手册
2017-02-10
Linux命令大全修改版
2015-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人