自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【算法】【排序】基数排序

从低位到高位,每轮按位分组比较,将排序结果,在二维表与一维表中,来回倒换,最终实现稳定排序。前置条件1、限正整数2、申请辅助二维表0 1 2 3 4 5 6 7 8 9 最大数字,有多少位,就排序多少轮,从低位向高位,每轮排序1位,先个位排序所有数字,个位数等于几,就把数字放二维表

2022-04-18 12:28:21 197

原创 【算法】【排序】快速排序

快速排序,选择最左侧元素为基准,和所有元素比较,先从右往左找,比基准小则左右元素元素交换,再从左往右找,比基准大则左右元素交换,一轮排序结束,基准元素左侧均比基准元素小,基准元素右侧均比基准元素大,再递归排序基准左侧序列和基准右侧序列。空间复杂度:O(1),直接交换元素,不开辟额外空间;时间复杂度:O(),排n轮,每轮2次;//快速排序func quickSort(nums []int, low, high int) { //low,high为数组的起始下标 if low >= hi

2022-04-14 17:51:14 279

原创 MySQL如何使用事务

整体情况开启事务 --> DML --> 关闭事务(提交或回滚)一条或多条DML语句,执行过程是一个整体,要么全成功,要么全失败;事务两种形式显示开启事务,先执行begin 或 start transaction,使用start transaction 后台能添加read only / read write/ with consistent snapshot;START TRANSACTION [transaction_characteristic [, t

2022-04-14 05:03:10 975

原创 【算法】【排序】归并排序

归并排序,分治法,有两个阶段,序列分解和合并;分解:序列元素个数为1不再分解,否则将序列不断二分,直到其长度为1合并:序列长度为1,认为其有序,再相邻有序序列两两合并成新的有序序列空间复杂度:O(n)时间复杂度:O()//归并排序func mergeSort(nums []int) { //分解 // 如果元素个数为1,则不再分解 // 否则将元素分解为两个子序列,分解后的子序列递归分解 // 将分解后的子序列合并 //合并 // 将两个子序列合并 // 将合

2022-04-14 04:56:22 207

原创 【算法】【排序】插入排序

第0个元素当作已排序循环n-1轮每轮取出第一个未排序元素,与已排序元素从后往前比较,如果比已排序元素小,则交换位置;进入下一轮循环 for i := 1; i < len(nums); i++ { for j := i; j > 0; j-- { if nums[j] < nums[j-1] { nums[j], nums[j-1] = nums[j-1], nums[j] //交换 } } }优化:减少交换次数;将每轮循环中,未排序

2022-04-13 20:47:00 303

原创 【算法】【排序】选择排序

进行n-1轮排序,每轮排序找出最小值下标,将第1个未排序元素与最小值交换;空间复杂度:O(1)时间复杂度:O()//选择排序func selectionSort(nums []int) { //重复n-1次 // 第1个未排序元素,设置为最小值,保存其下标 // 遍历剩余未排序元素,有比最小元素小的 // 替换最小值元素下标 // 交换最小值元素与第1个未排序元素 for i := 0; i < len(nums)-1; i++ { //排好序的元素放未排

2022-04-13 19:46:55 202

原创 【算法】【排序】冒泡排序

排序好的元素放在未排序元素末尾;每轮排序从第0号元素开始,相邻元素比较,如果左侧元素大于右侧元素,则交换相邻元素,一直比较到最后一个未排序的元素,一共进行N轮;空间复杂度:O(1)时间复杂度:O()//冒泡排序func bubbleSort(nums []int) { //for //从第1个元素到最后一个没有排序的元素 //如果左侧元素大于右侧元素 //交换 左侧元素,右侧元素 //end for for i := len(nums) - 1; i > 0; i-- {

2022-04-13 19:22:39 215

原创 数据库ACID特性

A(Atomicity)原子性,事务中的一个或多个操作,要么全执行,要么全不执行,它们是一个整体,不可部分执行;A账户到B账户转账100元 ,将有下方两个操作,要么都执行,要么都不,不能只执行第1条,A账户扣钱了,而B账户没收到钱,也不能B账户收到了钱,而A账户没扣钱;A=A-100B=B+100C(Consistency)一致性,数据变化前后满足预设规则,符合逻辑;1、A账户余额100元,向B账户转200元,违反余额不足,不符合逻辑;2、表中主键字段,被加入相同数据,违反主键

2022-04-02 11:27:24 600

原创 安装minikube

一、目的minikube本地学习和开发的Kubernetes环境;minikube start | minikubefhttps://minikube.sigs.k8s.io/docs/start/二、环境介绍支持windows、linux、Mac。三、搭建OS:CentOS Linux release 7.4.1708 (Core)curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube

2022-04-01 20:09:50 575

原创 MySQL8搭建MGR多主模式

一、介绍MGR多主模式,各个结点都是主结点,都能读写操作,均能外提供服务,当有结点出现故障,会被自动剔除集群,故障转移过程,由客户端去识别处理,下次启动组复制,故障自动完成数据同步,达到最终数据一致。二、搭建2.1 搭建MGR单主模式请参考MySQL8搭建MGR单主模式_weixin_47354082的博客-CSDN博客。2.2 修改参数关闭单主模式MGR调整参数关闭单主模式,会自动变成多主模式;2.2.1 热修改STOP GROUP_REPLICATION;s.

2022-03-31 10:29:33 858 1

原创 MySQL8搭建MGR单主模式

一、介绍MGR(MySQL Group Replication)复制,一开始就把SQL发送到从结点,主从结点同时进行冲突检查,这过程为称为certify,certify是检查比较两个并发事务写操作时的数据集,检查比较是行级别的。解决事务冲突办法,先执行结束的事务commit,后执行结束的事务rollback。实现数据最终一致性。在单机模式下,主结点挂掉后,从结点会选举新主结点,旧主结点从集群中剔除。选举采用paxos算法,投票超过一半当选。二、环境2.1 软件版本OS:C

2022-03-31 00:33:49 1419

原创 MySQL8搭建MHA一主两从

一、介绍MHA(Master High Availability)是MySQL高可用解决方案,用perl语言开发的管理工具,轮询探测MySQL主结点可用性,发现故障,自动转移故障,选一从结点提升为新的主结点,接替旧的主结继续对外提供服务,此过程对应用来说是透明的。在MHA中,MySQL主从高可用本质不变,仍是利用binlog发送到从结点,再relaylog重放实现数据同步,它是MySQL主从外挂,在故障情况下,主从手工切换工作自动化。MHA支持MySQL一主多从,但MySQL结点至少3个,也只支持一

2022-03-29 23:11:42 1461

原创 MySQL搭建双主双从

原理将主结点中binlog日志内容,实时传送到相邻结点relay log中,再在各主从数据库进行SQL重放,实现数据一致,主主之间互为主从,两主结点表中数据会同时有写操作,确保不产生唯一性约束冲突;主要问题解决唯一性约束冲突,数据表定义自增长字段,一主结点奇数增长,一主结点偶数增长,也可应用程序算法实现,或引入第三方软件实现,只要能解决两主结点写操作不产生唯一性约束冲突;规划架构环境主机 IP 类型 server id mysql8_1

2022-03-27 14:22:06 1546

原创 MySQL搭建主从(一主一从)

原理:将主结点中binlog日志内容,实时传送到从结点relay log中,再由SQL线程解析执行,从而改变从结点MySQl中的数据,达到主从数据一致;环境介绍:MySQL版本:8.0.28 MySQL Community Server - GPL操作系统:CentOS 71、规划主机 IP 类型 mysql8_1 172.17.0.12 主 mysql8_2 172.17.0.13 从 2、安装MySQL,主从上都执行如下2命令,等待完成

2022-03-26 13:28:05 4693

原创 MySQL用binlog日志恢复数据

原理:binlog日志保存的是数据变化的DDL和DML SQL,并在每条SQL打上了时间缀和标记,所以可以指定时间和标记,找到指定SQL,恢复特定数据。实战:从删库到恢复,不用再跑路。1、建库建表准备数据再删库mysql> flush binary logs;Query OK, 0 rows affected (0.01 sec)mysql> create database mydb;Query OK, 1 row affected (0.00 sec)mysql&

2022-03-25 15:07:58 1080

原创 MySQL日志

MySQL有八种日志,慢查询日志,通用查询日志,错误日志,二进制日志,中继日志,数据定义日志,redo日志,undo日志,其中除二进制日志外,其他都是文本格式日志,能用记事本打开。1,慢查询日志,记录SQL执行时间长的。2,通用查询日志,记录数据库启停,会话连接时间及执行的SQL等。3,错误日志,运行过程中出现的错误。4,二进制日志,记录更改数据的SQL,主从复制到从机实现数据同步。5,中继日志,主从复制,同步到从机待执行得SQL脚本日志。6,数据定义日志。7,redo日志,保证

2022-03-24 22:49:48 597

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除