自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 buffer pool原理总结

在buffer pool对应的内存是有限的,随着用户不断写数据,将页从磁盘上加载到内存的buffer pool中,再将缓冲页变成脏页,刷写到磁盘,free链表里能用的页越来越少,将没有多少空闲页了,那么这时就要将flush链表中的数据腾出一些给free链表了,那腾出哪一些呢?当然是不经常访问的页了,LRU类似是一个栈,先进先出,随着在内存中的页越来越多,这些使用的页的控制头就会依次加入到LRU链表中,如果一个页很久都没使用了,就会率先将它剔除。将LRU链表分为两段,一段是热数据,一段是冷数据。

2023-09-08 10:01:21 205

原创 MySQL表空间

在刚开始向表中插入数据时,段是从某个碎片页以单个页面为单位来分配存储空间的,(应该是一次初始化32个碎片页,等都用完了,再初始化一个完整的区。在刚开始写数据时,并不是从完整的区中申请一个数据页,而是先从碎片区中申请,当碎片区中已经使用了32个数据页时,才会申请一个完整的区装数据。如果用户新创建一张表只有一条数据,且不用碎片区的话,innodb会新开辟一个区,那就是1MB,对于一个只有1行数据的表来说,1MB空间有点大了,故此设计碎片区。就是在一个碎片区中,并不是所有的页都是为了存储同一个段的数据而存在的。

2023-09-08 10:00:40 487

原创 MySQL日志

5.6版本新加的特性在5.7版本中的GTID中,即使不开也会自动生成相关参数现在开始总结一下redo 日志写入log buffer的全过程当在系统中载入一个buffer pool页面时,需要判断一下对此页面的获取方式,是读或是写,加锁与不加锁,总而言之,我们要针对不同的情况加不同的锁;(有关buffer pool的说明,请参考:【TODO】)加锁和不加锁需要看用户的操作类型和当前系统的隔离级.(有关锁和隔离级的说明,请参考:[TODO])如果加锁,则需要调用函数来确定页面的等;然后调用。

2023-09-08 09:59:47 379

原创 RC,RR隔离级别下对`select .. for update`的表现

select ... for update语句在RR,RC隔离级别下的影响

2023-02-16 13:32:34 735 1

原创 go练习题

go 练习题

2022-11-24 12:26:52 701

原创 MySQL 主要线程

mysql中主要线程

2022-10-29 13:09:51 1478

原创 安装mysql debug环境

调试mysql

2022-09-21 16:01:01 891 1

原创 单向循环链表

链表

2022-06-04 13:04:51 118

原创 单向链表代码实现

单向链表

2022-06-03 16:26:43 126

原创 golang 使用reflect包实现ini文件解析功能

golang 使用reflect包实现ini文件解析功能config.ini[mysqld]user = mysqlpassword = abc123ip = 10.0.0.1port = 3306main.gopackage mainimport ( "errors" "fmt" "io/ioutil" "reflect" "strconv" "strings")// 编写代码利用反射实现一个ini文件的解析器程序。// 根据ini文件的key,输出key对应的v

2022-05-03 12:51:34 590

原创 golang 实现时间差

golang实现时区时间差代码如下:package mainimport ( "fmt" "time")func printDemo(i interface{}) { fmt.Printf("value:%v,type:%T\n", i, i)}// 取当前时间到其他时间的差值func subDemo(ts string) string { // 本地时间 now := time.Now() printDemo(now) // 按照指定格式解析一个字符串格式的时间 _,

2022-04-30 16:47:54 3964

原创 分布式数据库报错-Error_code: MY-008503

报错一:2021-12-27T02:46:23.537007-05:00 4446 [ERROR] [MY-010584] [Repl] Slave SQL for channel 'group_replication_recovery': Worker 1 failed executing transaction '67726561-7464-625f-636c-757374657200:4' at master log greatdb-bin.000001, end_log_pos 2026; Err

2021-12-27 19:02:55 1202

原创 SDK docker启动远程配置,远程访问

SDK docker启动远程配置,远程访问启动远程配置情况一: 远程服务器为centos在远程服务器上创建docker容器本次使用SDK DOCKER for python登录远程服务器,操作 /usr/lib/systemd/system/docker.service文件ExecStart=/usr/bin/dockerd-current \ --add-runtime docker-runc=/usr/libexec/docker/docker-runc-curren

2021-12-22 19:13:08 1494

原创 Pytest+Allure+Jenkins自动化测例架构介绍

自动化测例架构介绍1. 概述1.1 项目介绍该项目使用python语言实现,基于pytest测试框架且集成allure和jenkins,用于GreatDB-Cluster做回归测试.本文档会介绍使用Pytest+Allure+Jenkins测试GreatDB5.0的具体流程。1.2 引入目的减少回归测试的使用时间,提高效率每个测例做为模块单独存在,方便维护和事后追溯2. 测例整体流程2.1 测试流程将测例代码从gitlab上下载运行测例运行主程序构建集群在集群上生成数据

2021-11-11 13:37:53 2882

原创 使用docker SDK将两个不同网段的容器连接

使用docker SDK将两个不同网段的容器连接docker 搭建两个不同网段的容器root@OLTP-greatdb-1:~/文档/greatdb5.0.8/TestThreeIDC$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb1c8e9afdf71 greatdb "/bin/bash" 52 minutes ago Up 52

2021-10-29 17:54:14 150

原创 python报错:WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None))

在下载python包时,遇到以下报错[root@computer-48 ~]# pip3 install coloredlogsLooking in indexes: http://172.16.50.80:8080/simpleWARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’&l

2021-10-14 16:18:32 13329

原创 Creating network “backup_recover_extnetwork“ with driver “bridge“ ERROR: Pool overlaps with other on

docker报错:Creating network “backup_recover_extnetwork” with driver “bridge” ERROR: Pool overlaps with other one on this address space原因是因为使用bridge已经存在,而你在docker-compose中指定的是只一个网段对应此网桥.docker-compose配置如下:networks: extnetwork: driver: brid

2021-09-26 17:10:43 1665

原创 git恢复上一次的commit

git 恢复上一次的commit将当前commit的数据存入到栈中sudo git stash 选择要恢复的commit号,进行恢复git loggit reset --hard 2f0080513c3cf8d2d384970f87b3094577352b15强制覆盖之前提交的信息git push -f origin master...

2021-09-23 12:11:23 5378 1

原创 sphix-pthon注释生成文档

sphix-pthon注释生成文档环境环境版本系统环境ubuntu 20.04 5.11.0-27-genericpythonpython3.8sphinx4.1.2前言Sphinx 是一种文档工具,它可以令人轻松的撰写出清晰且优美的文档, 由 Georg Brandl 在BSD 许可证下开发. 新版的Python文档 就是由Sphinx生成的, 并且它已成为Python项目首选的文档工具,同时它对 C/C++ 项目也有很好的支持; 并计划对其它开发语言添加

2021-09-09 19:01:28 187

原创 python,java,go,perl,php,c等驱动连接数据库

文章目录python,java,go,perl,php,c等驱动连接数据库1.测试环境2.python2.1安装2.2完整代码3.java3.1 安装3.2代码4.go4.1 安装4.2 代码5.c语言上代码6.php6.1 安装6.2 上代码7. perl7.1 安装上代码python,java,go,perl,php,c等驱动连接数据库最近接到一个需求,使用python,java,go,perl,php,c等语言连接数据库,并做一些相应的SQL动作.唉,开搞了!1.测试环境环境描述

2021-09-08 11:19:53 380

原创 python并发向mysql插入数据

python并发向mysql插入数据前言本次代码主要在mysql数据库中实现,并发插入10w,100w,500w行数据环境环境描述系统环境ubuntu20.04数据库mysql8.0.25python3.9.5数据表create table t_normal (col1 int primary key auto_increment, col2 bigint,col3 timestamp )engine=innodb ;create table t_pa

2021-06-25 14:12:59 1001

原创 浅谈MySQL存储引擎优化之异步io-innodb_use_native_aio

浅谈MySQL存储引擎优化之异步io-innodb_use_native_aio前言之所以谈到此参数的优化,原因还是在初始化mysql时遇到了io_setup() attempt 1 failed.问题.解决思路我们先将整个的错误日志输出:140505 16:05:59 InnoDB: Using Linux native AIO140505 16:05:59 InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attem

2021-06-22 17:32:14 1707 1

原创 java向mysql中插入音乐

java向mysql中插入音乐环境项目版本javajdk-14.0.2系统ubuntu20.04数据库mysql8.0.23步骤准备数据创建表:create table `poc_oracle_conc` (`col_uuid` varchar(40) character set utf8 collate utf8_bin not null,`col_varchar_10` varchar(10) character set utf8 collate

2021-05-16 21:09:12 371

原创 oracle 转mysql(持续更新)

oracle转mysql8.0数据类型oracle:varchar2mysql: varcharoracle: numbermysql: if n<=3 then tinyintif n<=5 then smallintif n<=7 then mediumintif n<=10 then intif n<=20 then bigintelse decimal(n)or

2021-04-09 19:19:57 459

原创 MySQL8.0 SAVEPOINT

MySQL8.0 SAVEPOINT调研文档1.概述1.1 环境系统环境ubuntu20.04软件环境mysql8.0.23用户名root密码greatdb1.2 savepoint定义savepoint语法:savepoint point_xxx;rollback to point_xx;release savepoint point_xxx;savepoint创建一个名为point_xxx的保存点,如果当前事务具有相同的保存点名称,则将

2021-04-08 15:38:30 335

原创 c++ sched_setaffinity和getpriority

c++ sched_setaffinity和getprioritysched_setaffinitysched_setaffinity格式sched_setaffinity(thread_id, sizeof(cpu_set), &cpu_set);作用: 设置cpu亲和力关于亲和力亲和力是指在linux系统 中可以将一个或多个进程绑定到一个或多个处理器上面运行.cpu亲和力的掩码决定了该进程可以在几号cpu上运行.sched_setaffinity参数cpu_zero: 清空一个

2021-04-07 19:48:21 588

原创 MVCC多版本控制-事务篇

MVCC多版本控制-事务篇1.MVCC概述1.1 MVCC定义MVCC全称Mutli Version Concurreny Control,多版本并发控制,也可以称为一致性非锁定读,通过行的多版本控制方式来读取当前执行时间 数据库的行数据 .MVCC实际上是用的快照数据,实现快照读.MVCC主要应用于RC,RR两个级别.1.2 为什么使用MVCCinnoDB和MyISAM相比有两大特点:一是支持事务 ,二是支持行级锁.针对于innoDB四种隔离级别的串行隔离级来说,并发事务处理能大大增加数据资源

2021-04-02 11:41:56 166

原创 ubuntu20.04 mardown文件批量转换为pdf

ubuntu20.04 mardown文件批量转换为pdf需求现家目录下有多个以md结尾的mardown文件,因工作需要转换为pdf文件.解决方法使用typora自带的pandoc工具开始行动下载转换工具demo-batch-markdown-to-pdf-master.zipunzip demo-batch-markdown-to-pdf-master.zipcd demo-batch-markdown-to-pdf-masterroot@jiaona-OptiPlex-5070:/

2021-03-31 10:44:20 306 2

原创 安装mysql报错集锦

环境系统环境docker centos:8报错信息[root@9039691e1444 bin]# mysql -S /tmp/mysql.sock mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory解决办法cd /usr/local/mysql/bin$ sudo ldd mysql linux-v

2021-03-19 19:08:03 207

原创 JDBC部分参数讲解

JDBC部分参数讲解问题描述benchmarksql配置文件db=mysqldriver=com.mysql.jdbc.Driverconn=jdbc:mysql://172.16.130.48:3306/benchmarksqluser=rootpassword=greatdbwarehouses=1loadWorkers=4terminals=1//To run specified transactions per terminal- runMins must equal z

2021-03-18 10:38:20 656

原创 误删/var/lib/dpkg/info目录

误删/var/lib/dpkg/info目录刚装完系统,误删/var/lib/dpkg/info目录方法一mkdir /var/lib/dpkg/infoapt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`dpkg --configure -aapt-get updateapt-get upgradeapt-get download dpkgdpkg -i dpkg

2021-03-17 19:05:46 900

原创 游标的简单使用

文章目录游标的简单使用写在前面游标的属性定义游标从游标中取值打开一个游标定义一个简单的游标循环语法游标的简单使用写在前面游标的属性无感知只读:不可更新不可遍历:只能在一个方面遍历数据,不能跳行定义游标declare cursor_name cursor for select_statement;// 声明一个游标与select 语句相关联。使用select语句检索游标要遍历的行,再使用fetch提取。// select检索的列数要和fetch中指定输出的列数匹配。// 其中,se

2021-03-17 17:29:37 150

原创 java 读取本地文件

java读取本地文件写在前面产品说明主机系统ubuntu18.04java14.0.2mysql8.0.22脚本路径/server/scripts/modify_data.sql说明:本次使用java读取mysql字段,用于进行授权,如果要在java中截取可以参考:public class TestCode { public static void main(String[] args) { String str[] = "

2021-03-13 21:45:42 250

原创 java Statement类

8.1 Statement类8.1.1 Statement类的作用statement类是用于送sql语句到后端数据库的。8.1.2 Statement使用创建对象步骤:连接数据库:Connection conn = DriverManager.getConnection(url,user,password);创建对象:Statement st = conn.createStatement();执行sql语句ResultSet rs = st.executeQuery("sele

2021-03-13 21:43:39 1163

原创 io流BufferedReader类

8.2 BufferedReader类8.2.1 概述BufferedReader类全名称为字符缓冲输入流。 从字符输入流中读取文本并缓冲字符,以便读取有效的读取字符,还有一特点可以接收来自键盘的信息。主要用来读取文件的。8.2.2 初始化方法接受控制台信息BufferedReader input= new BufferedReader(new InputStreamReader(System.in));读取文件 BufferedReader retable = null;

2021-03-13 21:42:47 1240

原创 java异常报错总结

1. 数组越界异常具体报错Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 23 at com.company.Test1$Grant.run(Test1.java:52) at com.company.Test1.main(Test1.java:65)报错原因是因为数组中的下标过界,超出范围,所以报此错误 for (int i = 0

2021-03-11 17:32:02 228

原创 windows10安装MySQL8.0.23

windows10安装MySQL8.0.23文章目录windows10安装MySQL8.0.231. 下载2. 解压3. 配置环境变量4. 抓包分析1. 下载直接|下载2. 解压3. 配置环境变量以管理员身份运行cmd初始化mysqlcd C:\Users\chenjiaona\Desktop\mysql-8.0.23-winx64\mysql-8.0.23-winx64\binmysqld --initialize-insecure --user=mysql # instal

2021-03-10 10:29:49 206

原创 在ubuntu18.04中安装idea报错:Startup Error: Unable to detect graphics environment

问题描述[root@db01 /monitor/opt/idea-IC-202.7660.26/bin]# ./idea.sh &[1] 9374[root@db01 /monitor/opt/idea-IC-202.7660.26/bin]# OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a fut

2021-03-08 10:31:41 1402

原创 /bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

问题描述执行gnome-system-monitor出现/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)No protocol specifiedUnable to init server: Could not connect: Connection refused(gnome-system-monitor:19721): Gtk-WARNING **: 09:59:53.872: cannot

2021-03-08 10:12:22 7422

原创 实现在Java中多线程批量导入sql语句

文章目录Java实现多线程批量导入sql语句环境介绍准备sql语句下载软件包实施java代码Java实现多线程批量导入sql语句环境介绍本次在多主MGR集群测试。三个用户将同时在三个sqlnode节点上并发导入sql语句。软件版本MySQL8.0.21节点sqlnode1sqlnode2sqlnode3端口330633073308用户user1user2user3表数量300030004000表类型normalpartiti

2021-02-27 16:20:50 478

空空如也

空空如也

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

TA关注的人

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