精选分类
文章列表
Mysql 添加远程账号
添加一个新账号 create user 'account'@'%' identified by 'password'; 赋予新账号权限 grant all privileges on `Test`.* to 'account'@'%' ; #权限参考 all 所有权限 select 查询权限 insert 插入权限 delete 删除权限 update 更新权限 *.* 所有表 刷新权限 FLUSH PRIVILEGES;
more...Mysql8 新安装后无密码登录
修改配置文件 vi /etc/my.cnf #进入 mysql 配置文件 在配置文件中设置 skip-grant-tables #即不校验密码登录 重启 mysql systemctl restart mysqldmysql -u root -p #不用输入密码,直接回车 将密码置空 update user set authentication_string='' where user = 'root'; 删除 2 中添加的配置项并重启 mysql 如需修改密码 ALTER USER...
more...leetcode-1807. 替换字符串中的括号内容
# 1807. 替换字符串中的括号内容 难度:中等 解题思路: knowledge 转换 hashmap 便于查找 依次遍历 s,获取()中的字符串为 key,如果 hashmap 中不存在 key 对应的 value 则替换为 "?" func evaluate(s string, knowledge [][]string) string { var know = map[string]string{} for _, v := range knowledge {...
more...Mysql: on duplicate key update
# 使用场景 在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新 在 MySQL 数据库中,如果在 insert 语句后面带上 ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复,则执行新纪录插入操作。 说通俗点就是数据库中存在某个记录时,执行这个语句会更新,而不存在这条记录时,就会插入。 # 用法 该语句是基于唯一索引或主键使用,比如一个字段 user_id 被加上了 unique...
more...分布式事务:DTM Workflow模式
# Workflow 模式 Workflow 模式是 DTM 首创推出的模式,在这个模式下,可以混合使用 XA、SAGA、TCC,也可以混合使用 HTTP、gRPC、本地操作,用户可以对分布式事务里面的绝大部分内容进行定制,具备极大的灵活性,下面我们以转账场景,讲述如何在 Workflow 下进行实现。 # workflow 例子 Workflow 模式下,既可以使用 HTTP 协议,也可以使用 gRPC 协议,或者是本地操作。下面以 gRPC 协议作为例子,一共分为一下几步: 初始化 SDK 注册 workflow 执行 workflow # 首先需要在使用 workflow 前对...
more...分布式事务:DTM XA模式
# XA 事务模式 # XA 是什么 XA 是由 X/Open 组织提出的分布式事务的规范,XA 规范主要定义了 (全局) 事务管理器 (TM) 和 (局部) 资源管理器 (RM) 之间的接口。本地的数据库如 mysql 在 XA 中扮演的是 RM 角色 XA 一共分为两阶段: 第一阶段(prepare):即所有的参与者 RM 准备执行事务并锁住需要的资源。参与者 ready 时,向 TM 报告已准备就绪。 第二阶段 (commit/rollback):当事务管理者 (TM) 确认所有参与者 (RM) 都 ready 后,向所有参与者发送 commit 命令。 目前主流的数据库基本都支持 XA...
more...分布式事务:DTM TCC模式
# TCC 事务模式 什么是 TCC,TCC 是 Try、Confirm、Cancel 三个词语的缩写,最早是由 Pat Helland 于 2007 年发表的一篇名为《Life beyond Distributed Transactions:an Apostate’s Opinion》的论文提出。 # TCC 组成 TCC 分为 3 个阶段 Try 阶段:尝试执行,完成所有业务检查(一致性), 预留必须业务资源(准隔离性) Confirm 阶段:如果所有分支的 Try 都成功了,则走到 Confirm 阶段。Confirm 真正执行业务,不作任何业务检查,只使用 Try...
more...分布式事务:DTM 二阶段消息模式
# 二阶段消息 # 概述 本文提出的二阶段消息,可以完美替代现有的事务消息或本地消息表架构。 下面我们以跨行转账作为例子,给大家详解这种新架构。业务场景介绍如下: 我们需要跨行从 A 转给 B 30 元,我们先进行可能失败的转出操作 TransOut,即进行 A 扣减 30 元。如果 A 因余额不足扣减失败,那么转账直接失败,返回错误;如果扣减成功,那么进行下一步转入操作,因为转入操作没有余额不足的问题,可以假定转入操作一定会成功。 # HTTP 接入 二阶段消息完成上述任务的核心代码如下所示: msg := dtmcli.NewMsg(DtmServer,...
more...