学向勤中得,萤窗万卷书。这篇文章主要讲述MySQL随机数据填充工具 mysql_random_data_load相关的知识,希望能为你提供帮助。
percona出品的小工具,用于随机生成测试数据。
https://github.com/Percona-Lab/mysql_random_data_load
直接下载release文件即可
mysql_random_data_load 将加载(插入)“n”条记录到源表,并根据数据类型用随机数据填充它。所以这个工具不会像 sysbench 那样确定预定义的表列或数据类型。它将根据列数据类型将数据插入表中。因此,我们可以根据我们的自定义需求生成随机数据。表格可以有任意数量的不同数据类型的列,此工具将根据列的数据类型生成数据并插入数据。
如果字段大小小于10,程序将生成一个随机的“名字”
如果字段大小大于10且小于30,程序将生成一个随机的“全名”
如果字段大小>
30,程序将生成一个“lorem ipsum”段落,最多包含100个字符。
该程序可以检测一个字段是否接受 NULL,如果接受,它将随机生成 NULL(约 10% 的值)。
示例:
创建一个测试的空表
create database test;
use test;
CREATE TABLE `t3` (
`id` int NOT NULL AUTO_INCREMENT,
`tcol01` tinyint DEFAULT NULL,
`tcol02` smallint DEFAULT NULL,
`tcol03` mediumint DEFAULT NULL,
`tcol04` int DEFAULT NULL,
`tcol05` bigint DEFAULT NULL,
`tcol06` float DEFAULT NULL,
`tcol07` double DEFAULT NULL,
`tcol08` decimal(10,2) DEFAULT NULL,
`tcol09` date DEFAULT NULL,
`tcol10` datetime DEFAULT NULL,
`tcol11` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`tcol12` time DEFAULT NULL,
`tcol13` year DEFAULT NULL,
`tcol14` varchar(100) DEFAULT NULL,
`tcol15` char(2) DEFAULT NULL,
`tcol16` blob,
`tcol17` text,
`tcol18` mediumtext,
`tcol19` mediumblob,
`tcol20` longblob,
`tcol21` longtext,
`tcol22` mediumtext,
`tcol23` varchar(3) DEFAULT NULL,
`tcol24` varbinary(10) DEFAULT NULL,
`tcol25` enum(a,b,c) DEFAULT NULL,
`tcol26` set(red,green,blue) DEFAULT NULL,
`tcol27` float(5,3) DEFAULT NULL,
`tcol28` double(4,2) DEFAULT NULL
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
开始造数据
usage: mysql_random_data_load < database> < table> < number of rows> [options...]
需要先人工创建 test.t3 这个表, mysql_random_data_load不关心这个表有哪些列,它都能自动进行填充。
# 如果要看详细过程,可以再加上参数 --debug
./mysql_random_data_load test t3 100000 --user=dts --password=dts --port=3316--max-threads=4 --bulk-size=1000 --host=192.168.31.181
填充后效果:
test> select count(*) from t3;
+----------+
| count(*) |
+----------+
| 100000|
+----------+
1 row in set
test> select * from t3 order by id desc limit 1\\G
***************************[ 1. row ]***************************
id| 100000
tcol01 | 13
tcol02 | 65
tcol03 | 479465
tcol04 | 589922315
tcol05 | 1258706440113351142
tcol06 | 2.77057
tcol07 | 0.599966
tcol08 | 5.42
tcol09 | 2022-04-23
tcol10 | 2021-08-22 07:07:54
tcol11 | 2021-06-10 03:07:50
tcol12 | 3:17:07
tcol13 | 2022
tcol14 | aut quam excepturi quidem corporis suscipit illum!
tcol15 | Sh
tcol16 | adipisci ipsam iste a.
tcol17 | adipisci rerum ut sapiente laudantium velit.
tcol18 | eos est est nam eius aspernatur.
tcol19 | sapiente est dicta error iure ipsum blanditiis.
tcol20 | voluptas velit assumenda dignissimos laboriosam a.
tcol21 | iure id nesciunt modi aut.
tcol22 | sit earum soluta alias aperiam accusantium!
tcol23 | Tin
tcol24 | Julie
tcol25 | c
tcol26 | blue
tcol27 | 0.47
tcol28 | 0.0
其他:
--print参数: 输出日志,但不执行插入操作
./mysql_random_data_load test t3 10000 --user=dts --password=dts --port=3316--max-threads=4 --host=192.168.31.181 --bulk-size=1000 --print
【MySQL随机数据填充工具 mysql_random_data_load】
推荐阅读
- HTML5期末大作业(鲜花主题网页设计——简约的网上花店网站设计(4页) HTML+CSS+JavaScript)
- 一行代码快速实现今日头条 网易新闻焦点图自动循环轮播效果
- web期末网站设计大作业(鲜花网站设计——鲜花礼品在线购物网站设计(21页) HTML+CSS+JavaScript web前端课程设计 web前端课程设计代码 web课程设计 HTML网页制作
- 一行代码实现安卓照片选取上传服务器,并适配安卓7.0无法调起相机的问题
- 安卓调用系统自带分享功能分享文字,分享大图片,仿好奇心日报分享长图片(不用申请微信微博官方sdk就能直接分享)
- mysql日志
- 怎么把数据集的输出值转换成只含有0,1的标签向量
- Unity WebView 插件 | 浏览器插件3D WebView 专栏介绍
- 斯坦福机器学习-第三周(分类,逻辑回归,过度拟合及解决方法)