- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 GDB使用
5. x/nc 0x$address #以字符的形式打印内存 #例如:(gdb) x/6c 0x7f267733df15 0x7f267733df15: 117 'u' 112 'p' 100 'd' 97 'a' 116 't' 101 'e'gdb -p 47671 或者 gdb attach 47671。6. x/ns 0x$address #打印字符串。4. p $var #打印变量的值。u表示一个地址单元的长度,与n一起表示显示的地址长度。
2023-05-25 17:06:51
171
原创 tcpdump使用
假设threadid=268509076(0x10011F94),过滤的条件为:94:1f:01:10 frame[175:4] == 94:1f:01:10。-s 0 意思是着让tcpdump自动选择合适的长度来抓取数据包。Tcpdump类似mysql命令。# 打开多个wireshark windows命令。## 客户端和服务端在一起使用lo抓包。# 在客户端机器抓proxy包。- vv 输出详细报文信息。# 过滤thread_id。# tcpdump使用。# 抓出query的包。## 实时打印包信息。
2023-05-25 17:05:06
181
转载 Linux自带神器logrotate详解
logrotate.conf 才主要的配置文件,logrotate.d 是一个目录,该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行。另外,如果 /etc/logrotate.d/ 里面的文件中没有设定一些细节,则会以/etc/logrotate.conf这个文件的设定来作为默认值。Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。
2022-11-09 14:35:11
2244
原创 oom, crash等问题排查
1. malloc或new的内存, 在释放的时候,指针向前移动或者向后移动(大多数)导致释放内存错误,也有kennel导致未知的crash解决:认真的review代码,尤其是free内存的地方上图中,tables[i]向前移动了,在free的时候,会报指针不正确导致crash...
2022-04-24 20:27:14
234
原创 mysql80源码安装
## 下载源码 略过## cmakecmake版本大于2.8,gcc版本大于7.1创建build目录,在buid目录下执行下面命令 cmake .. \-DCMAKE_INSTALL_PREFIX=/home/zxchh/mysql80 \-DWITH_BOOST=/home/zxchh/mysql80/mysql-8.0.27/boost/boost_1_73_0 \-DWITH_EXTRA_CHARSETS:STRING=all \-DWITH_MYISAM_STORAGE.....
2021-12-23 21:48:36
987
原创 mysql学习记录
1、删除表的索引 alter table tt drop index inx_name 等价于 alter table tt drop key inx_name2、表重新命名 alter table t_xxx rename tt;3
2021-10-21 22:09:42
63
原创 mac vscode 卸载,安装,配置,GDB
第一步:退出 VSCode 应用第二步:输入如下指令,删除 VSCode 的设置和配置sudo rm -rf $HOME/Library/Application\ Support/Code第三步:输入如下指令,删除 VSCode 的插件sudo rm -rf $HOME/.vscode第四步:从 Application 中移除 VSCode安装下载https://github.com/microsoft/vscode/releases/安装包1. 关闭右侧的显示,sett
2021-07-13 16:03:44
1371
原创 TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有 DATA数据传输,RST表示连接重置。其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,如果只是单个的一个SYN,它表示的只是建立连接。TCP的几次握手就是...
2021-06-01 14:45:35
167
原创 c++知识学习
c++知识拷贝构造/移动构造1.拷贝构造#include <vector> int main(){ std::vector<Teacher> v; Teacher t1; v.push_back(t1); return 0;}执行v.push_back(Teacher());这段代码时,会发生拷贝构造,也就是将t1对象完全copy一份到vector容器中2、移动构造#include <vector>
2021-02-21 15:15:22
127
原创 innodb redo log分析
Innodb redo log分析目录概述... 2Redo log配置参数... 2Redo log存储结构... 3Redo log记录格式... 5相关lsn说明... 6redo log文件初始化... 6redo log运行流程... 7Mini transaction. 7redo线程... 8用户线程... 8log_writer 8log_flusher 8log_closer 9log_checkpointer 9log_wr
2020-07-21 11:05:16
1082
原创 Git使用
Git命令使用git log --stat 查看提交的文件名等详细信息git status 查看当前分支的状态git diff 查看所有文件的修改情况git blame file 查看文件每一行代码的责任人git stash 将修改的文件保存在暂存区git stash show 显示暂存区的文件git stash clear 清空暂存区创建分支并推送到远程新建一个本地分支git checkout –b zhaoyh_dev查看分支的状态Git b...
2020-06-05 15:00:24
1975
1
原创 mysql的sql_mode关于date的两个参数值NO_ZERO_DATE和NO_ZERO_IN_DATE
STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做任何限制NO_ZERO_IN_DATE:在严格模式,不接受月或日部分为0的日期。如果使用IGNORE选项,我们为类似的日期插入'0000-00-00'。在非严格模式,可以接受该日期,但会生成警告。NO_ZERO_DATE:在严格模式,不要将 '0000-00...
2019-04-26 10:52:24
20475
转载 mysql count(*) 和 count(1)和count(列名)区别
count(*) 和 count(1)和count(列名)区别 执行效果上: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数...
2018-12-29 11:25:59
799
原创 go语言学习
strings包中的函数Index(s, substr string) int;返回子串在源串中的第一次出现的位置,如果不存在返回-1func ToUpper(s string) string ;返回字符串的大写func ToLower(s string) string ;返回字符串的小写// ToTitle returns a copy of the string ...
2018-11-08 18:46:20
102
原创 mysql_test测试框架小结
1、连接远程的数据库执行 mysql_test用例命令:./mysql-test-run.pl --extern host=10.8.30.1 --extern port=7788 --extern user=root --extern password='uddbtest7788' show --recordLogging: ./mtr --extern host=10.8.30.1 -...
2018-10-25 21:52:00
1835
1
原创 mysql5.7.22源码安装
1、准备工作 1)mysql官网下载源码包 2)解压到安装用户目录 3)下载boost2、安装步骤安装mysql其实就3板斧,cmake、make、make install1)在mysql源码的BUILD目录下执行 cmake .. \-DCMAKE_INSTALL_PREFIX=/home/install_use...
2018-09-04 09:32:08
371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人