fake2db是一个用于生成假数据的工具,支持sqlite, mysql, postgresql, mongodb, redis, couchdb. ,该工具设置了几个模拟真实场景的表,可用于数据库测试等领域。最近试用了一下,把过程记录在此。
- clone仓库
git clone https://github.com/emirozer/fake2db.git
- 安装依赖
cd fake2db
pip install -r requirements.txt
它会自动执行setup.py文件,然后就可以直接在命令行中使用fake2db命令了
- 启动mysql:
mysql -u root -p --max_allowed_packet=100M;
注意一定要带后面那个参数,否则不能插入大数据(我的电脑max_allowed_packet默认4M,插入10w条数据会报错,提示不够大);最大好像能指定1G;
- 启动mysql后可以用
show VARIABLES like '%max_allowed_packet%';
查看上面那个参数是不是变了,如果没变是不能插入特别大的数据量的。
- 生成假数据
fake2db --db mysql --rows 1000000 --host localhost --password yourpassword --user root;
自己生成并命名一个数据库,然后生成5张表,每张表插入100w个数据,表名分别是:company, customer, detailed_registration, simple_registration, user_agent
- 游戏本实测100w条数据大概需要10分钟,建议只生成company和customer两个表,因为5个表*10分钟可能把电脑搞死机(别问我怎么知道的);
- 可以进入mysql_handler.py文件,找49-53行,把不需要的表注释掉,然后再执行;