avatar
文章
876
标签
85
分类
13
首页
归档
标签
友链
代表作品
量化套利
关于
TagoTago开发手记
搜索
首页
归档
标签
友链
代表作品
量化套利
关于

Tago · 开发手记

Mac shell 指令 修改文本最后一行的 , 换成 ;
发表于2023-12-01|操作系统
你可以使用以下命令来修改文本文件中最后一行的逗号(,)为分号(;): sed '$ s/,$/;/' file.txt > temp.txt && mv temp.txt file.txt 这个命令使用sed工具,它在给定的文本文件中进行替换操作。具体步骤如下: $表示匹配最后一行。 s/,$/;/表示将逗号(,)替换为分号(;)。 file.txt是要修改的文本文件名。 命令执行后,它将生成一个临时文件temp.txt,其中修改了最后一行的逗号为分号。然后,使用mv命令将临时文件重命名为原始文件file.txt,以完成修改。 请注意,在运行这个命令之前,请备份你的文件以防万一。 直接修改 : 你可以使用以下命令直接修改文本文件中最后一行的逗号(,)为分号(;): echo "$(head -n -1 file.txt),;" > file.txt 这个命令使用了命令替换(command substitution)的方式。具体步骤如下: head -n -1 file.txt用于获取除了最后一行之...
安装笔记:在CentOS上安装pt-online-schema-change
发表于2023-11-08|操作系统
$ yum -y install perl perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-Digest-MD5 到 https://www.percona.com/downloads/percona-toolkit/LATEST/ 下载并安装: # wget https://www.percona.com/downloads/percona-toolkit/3.1.0/binary/redhat/7/x86_64/percona-toolkit-3.1.0-2.el7.x86_64.rpm# rpm -ivh percona-toolkit-3.1.0-2.el7.x86_64.rpmwarning: percona-toolkit-3.1.0-2.el7.x86_64.rpm : Header V4 RSA/SHA256 Signature, key ID 8507efa5: NOKEYerror: Failed dependencies: perl(DBD::mysql) &...
Mac 安装 brew
发表于2023-11-06|操作系统
要在 macOS 上安装 Homebrew(常简称为 Brew),请按照以下步骤进行操作: 打开终端:你可以在 macOS 中的“应用程序”文件夹中找到“终端”应用程序。双击打开它。 安装 Homebrew:在终端中,粘贴或输入以下命令,然后按回车键执行: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 这将下载并运行安装脚本。在此过程中,可能需要输入你的 macOS 用户密码。 等待安装完成:安装过程可能需要一些时间,具体时间取决于你的网络连接和计算机速度。 验证安装:安装完成后,可以通过运行以下命令来验证 Homebrew 是否正确安装: brew doctor 如果一切正常,它应该显示 “Your system is ready to brew” 或类似的消息,表示 Homebrew 安装成功。 现在,你已成功在 macOS 上安装了 Homebrew。你可以使用 Homebrew 来安装各种软件包、工具...
[踩坑] 解决nginx反向代理proxy不能转发header报头
发表于2023-11-04|踩坑教训
今天发现生产环境自定义透传字段 头部转发IP, 错误. 观察了下 获取IP 方式并没有问题. 开发环境ok 的. 区别在于开发环境是直连的, 而生产是 Nginx Proxy server { listen 8080; server_name localhost; access_log /data/log/nginx/asset-access.log main; error_log /data/log/nginx/asset-error.log error; location / { set $mode "test"; if ($request_uri ~* xxxx=([0-9a-z]+)) { set $mode $1; } proxy_pass http://swoole_a...
Mysql 在线改表工具 PT-Online-Schema-Change
发表于2023-11-03|数据库
pt-online-schema-change英文描述是: ALTER tables without locking them,即在线改表。 工具下载地址 : https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html 使用场景在 mysql 5.6 版本以前,修改表结构如添加索引、修改列,需要锁表,期间不能写入,对于一个有几千万数据的大表来说,这个简直不能接收,对于分秒必争的互联网时代,服务中断很长时间的后果是很严重的。 升级 Mysql 到5.6 版本后,情况会好转,支持online-DDL, 但是实际在Alter表的时候,还会有可能锁表。 pt-online-schema-change是Percona-toolkit一员, 支持在不锁表的情况下,在线改表。 PT-OSC 工作流程 创建一个和要执行 alter 操作的表一样的新的空表,后缀默认是new。 在新表执行alter table 语句,因为是空表,执行速度很快。 在原表中创建触发器3个触发器分别对应insert,u...
Mysql 在线执行 DDL 语句不造成长时间锁表的工具.
发表于2023-11-03|数据库
记录一下 , 之前生产环境生成大量冷数据, 需要切走. 切走后delete 产生很多 内存碎片. 正常是需要停服运行 碎片整理 释放内存. 咨询了下DBA同学 , 说是有在线就可以整理内存碎片的工具. 我没细问DBA同学, 隔天问了下 ChatGPT, 推荐了三个工具 pt-online-schema-change:这是Percona Toolkit提供的一个工具,用于在线执行DDL语句而不会造成长时间的锁表。它会创建一个临时表来进行表结构变更,并在后台逐步复制数据,最后切换到新表。 gh-ost:这是GitHub开源的一个工具,用于在线执行DDL语句而不会造成长时间的锁表。它使用了类似pt-online-schema-change的原理,通过创建临时表和后台数据复制来实现无锁操作。 Percona Online Schema Change for MySQL:这是JetBrains提供的一个工具,用于在线执行DDL语句而不会造成长时间的锁表。它通过创建临时表、在后台复制数据并使用MySQL事件来实现无锁操作 DBA 推荐常用 第一个
MySQL 性能优化:碎片整理
发表于2023-11-02|数据库踩坑教训
MySQL 碎片是什么MySQL 碎片就是 MySQL 数据文件中一些不连续的空白空间,这些空间无法再被全部利用,久而久之越来多,越来越零碎,从而造成物理存储和逻辑存储的位置顺序不一致,这就是碎片。 碎片是如何产生的delete 操作在 MySQL 中删除数据,在存储中就会产生空白的空间,当有新数据插入时,MySQL 会试着在这些空白空间中保存新数据,但是呢总是用不满这些空白空间。所以日积月累,亦或是一下有大量的 delete 操作,一下就会有大量的空白空间,慢慢的会大到比表的数据使用的空间还大。 update 操作在 MySQL 中更新数据,在可变长度的字段(比如 varchar)中更新数据,innodb 表存储数据的单位是页,update 操作会造成页分裂,分裂以后存储变的不连续,不规则,从而产生碎片。比如说原始字段长度 varchar(100),我们大量的更新数据长度位为 50,这样的话,有 50 的空间被空白了,新入库的数据不能完全利用剩余的 50,这就会产生碎片。 碎片到底产生了什么影响MySQL 既然产生了碎片,你可能比较豪横说磁盘空间够大,浪费空间也没事,但是这...
MySQL 查询数据库表内存大小
发表于2023-10-30|数据库
当需要查询 MySQL 数据库表的内存大小时,可以使用以下步骤: 查询 MySQL 数据库表内存大小 登录到 MySQL 数据库: mysql -u username -p 选择要查询的数据库: USE database_name; 运行以下查询语句,以获取表的内存大小: SELECT table_name AS "Table", round(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"FROM information_schema.tablesWHERE table_schema = 'database_name' AND table_name = 'table_name'; 确保将 database_name 替换为实际的数据库名称,table_name 替换为要查询的表名。 这个查询语句将返回指定表的内存大小(数据长度 + 索引长度),以 MB 为单位。 结论通过以上步骤,...
Linux fork: retry: No child processes
发表于2023-10-21|操作系统踩坑教训
记录一下今天踩的坑. 同事构建了一个服务后到开发环境, 之后整台服务器就一直抛错, CPU狂飙, 16核的机器负载上到 七八百.发现问题后, 第一时间将开发环境 superver 服务 stop all.全部停止后发现 让然存在很多子进程未杀死 ps -ef |grep -i swoole |awk '{print $2}' |xargs kill -9 全部swoole 进程杀死后,等待1分钟 , top 检测负载降了下来. 重启服务. supervisorctl start all 重启后查看 supervisorctl status , 一直存在部分服务重启失败. 嘿嘿, 抛错 fork: retry: No child processes 查看 ulimit -a , max user processes (-u) 4096 很明显 dev1 开发账户控制的进程数超出上限了. ulimit -u 10000 果然, 执行指令 就ok了, 不在抛错了.
Mysql 查询主键未指定排序时的默认排序问题
发表于2023-10-17|数据库
跑批量任务需要分批按顺序把主键取出来,语句如下: SELECT id FROM foo.bar LIMIT 10 OFFSET 0+-----+| id |+-----+| 109 || 13 || 14 || 15 || 128 || 129 || 130 || 190 || 226 || 227 |+-----+ 发现虽然用主键去查,但结果没有按照主键排序。 查询*试试 SELECT * FROM foo.bar LIMIT 10 OFFSET 0+----+-------+---+| id | a | b |+----+-------+---+| 1 | 24274 | 0 || 2 | 24274 | 0 || 3 | 24274 | 0 || 4 | 24274 | 0 || 5 | 24274 | 0 || 6 | 24274 | 0 || 7 | 24274 | 0 || 8 | 24274 | 0 || 9 | 24274 | 0 || 10 | 24274 | 0 |+----+-------+---+ 排序按照主键。查...
1…272829…88
avatar
Leon
技术、实践与记录
文章
876
标签
85
分类
13
公告
记录技术实践,分享学习与思考。
最新文章
Okx合约量化套利开发心得
Okx合约量化套利开发心得2026-10-08
币安衍生品与 TradFi 业务全景
币安衍生品与 TradFi 业务全景2026-10-04
币安指数玩法拆解
币安指数玩法拆解2026-10-03
币安外汇玩法拆解
币安外汇玩法拆解2026-10-03
币安大宗商品玩法拆解
币安大宗商品玩法拆解2026-10-03
最新评论
加载中...
分类
  • Ai9
  • Nginx44
  • 产品16
  • 其他54
  • 协议69
  • 容器13
  • 技术1
  • 操作系统112
标签
kali VM NVDA websocket 做市 Tcp ClickHouse jwt 需求优先级 ssl 币安 swoole 代理 golang 网络安全 跨域 埋点 交互设计 AES Docker 量化理财 产品基础 php 用户体验 protobuf linux 代币化股票 股票代币化 yum 金融交易 WebAuthn TradFi 导航设计 shell centos oa 正则 vim 指数 curl
归档
  • 十月 2026 5
  • 九月 2026 5
  • 八月 2026 13
  • 七月 2026 7
  • 六月 2026 4
  • 五月 2026 5
  • 四月 2026 10
  • 三月 2026 6
网站信息
文章数目 :
876
运行时间 :
最后更新时间 :
© 2015 - 2026 By Leon框架 Hexo 8.1.2|主题 Butterfly 5.7.0
Tago · 开发手记
搜索
数据加载中