datafaker生成测试数据插入mysql

原文文档:https://blog.csdn.net/A15517340610/article/details/105623103/
在看本文之前一定要看原文文档,要不然很多步骤不太清楚。
本人根据文档,经过自己的安装添加了一些步骤,希望本人踩过的坑可以帮助到你们~
话不多说,直接开整~

安装环境:

  • Python (2.7.14)
    此版本使用的是2.7版本的Python (2.7.14),我是自己安装python版本,centos自带的python好像缺少模块(例如:setuptools、pip等)
  • datafaker (github下载的zip包datafaker-master.zip)下载地址https://github.com/gangly/datafaker

前提说明

本人刚开始使用的pip模式的安装,发现一直少东西,然后就源码整了。但是关于pip和setuptools给你们一些看过的文档参考:

安装流程

  1. 安装python
    参考文档:https://www.cnblogs.com/xiaowenshu/p/10239834.html
  2. 安装datafaker
  • 下载源码包,将datafaker-master.zip解压
  • unzip datafaker-master.zip
  • 进入到 datafaker-master文件夹中
  • cd /software/datafaker-master
  • 安装
  • python setup.py install
  1. 安装 MySQL-python-1.2.5.zip

    我安装的是MySQL-python-1.2.5,
    安装文档:https://blog.csdn.net/weixin_29290259/article/details/113294040

  • 步骤:
    • unzip MySQL-python-1.2.5.zip
    • cd MySQL-python-1.2.5/
    • python setup.py build
    • 在第三步遇到了一个问题,在setup.py安装脚本中,找不到指定的mysql_config.path的位置。解决办法如下:
    • 将下载的MySQL-python-1.2.5的文件解压,然后打开编辑器编辑setup_posix,其中有一行mysql_config.path = “mysql_config”,改为mysql_config.path = “/usr/local/Cellar/mysql-connector-c/6.1.11/bin/mysql_config” 这里注意了,/usr/local/Cellar/mysql-connector-c/6.1.11/bin/mysql_config是我的mysql的安装地址。也就是说安装之前需要先安装mysql,只需要去官网下载就行了。(只适用python2,python3 请用whl安装【https://pypi.org/project/mysqlclient/#files】)
    • 此处又遇到个问题,因为我是下载的mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar,这种文件方式的安装 安装文档:https://blog.csdn.net/qq_23123177/article/details/82759057
      这种rpm的方式安装没有mysql_config文件,经过百度,解决办法:https://blog.csdn.net/weixin_36522099/article/details/107965842
      此处操作后就可以有mysql_config文件了,将文件的位置配置在mysql_config这个文件中,就可以继续执行了
    • python setup.py install
      到此MySQL-python-1.2.5安装完毕!
  1. 执行datafaker --version查看版本
  • 此处的datafaker –-version 我在bin目录下执行未成功,然后我是将bin目录下的datafaker添加了执行权限 chmod 777 datafaker,在执行datafaker –-version是成功了的(不知道对不对,个人见解)

    1. 在mysql中创建学生表

      	create table stu (
      	id int unsigned auto_increment primary key COMMENT '自增id',
      	name varchar(20) not null comment '学生名字',
      	school varchar(20) not null comment '学校名字',
      	nickname varchar(20) not null comment '学生小名',
      	age int not null comment '学生年龄',
      	class_num int not null comment '班级人数',
      	score decimal(4,2) not null comment '成绩',
      	phone bigint not null comment '电话号码',
      	email varchar(64) comment '家庭网络邮箱',
      	ip varchar(32) comment 'IP地址',
      	address text comment '家庭地址'
      ) engine=InnoDB default charset=utf8;
      
    2. 编写元数据meta.txt

      • 编写元数据meta.txt,这是个学生表描述。 其中meta.txt文件内容为:
        id||int||自增id[:inc(id,1)]
        name||varchar(20)||学生名字
        school||varchar(20)||学校名字[:enum(file://names.txt)]
        nickname||varchar(20)||学生小名[:enum(鬼泣, 高小王子, 歌神, 逗比)]
        age||int||学生年龄[:age]
        class_num||int||班级人数[:int(10, 100)]
        score||decimal(4,2)||成绩[:decimal(4,2,1)]
        phone||bigint||电话号码[:phone_number]
        email||varchar(64)||家庭网络邮箱[:email]
        ip||varchar(32)||IP地址[:ipv4]
        address||text||家庭地址[:address]
    3. 执行命令生成数据

      • 在bin目录下执行
        datafaker rdb mysql+mysqldb://root:root@localhost:3600/test?charset=utf8 stu 10 --outprint – meta meta.txt --outspliter ,
        命令时,发现找不到meta.txt的位置,此处可以指定meta.txt位置zai bin目录下执行,也可以添加软链接,在meta.txt所在的目录下执行(我采用的是这种方式),命令:
        ln -s /software/datafaker-master/bin/datafaker /usr/bin/datafaker
        然后就可以在任意位置执行了
        执行之后发现一个报错

        Can’t connect to MySQL server on ‘...’(10060)
        导致此处错误的原因有很多,具体参考文档:
        https://www.cnblogs.com/mmzs/p/9201558.html

        我此处是因为防火墙没有关闭
        接着又出现了个问题:

        Access denied for user ‘root’@‘localhost’ (using password: YES)
        此处我修改了mysql的配置my.cnf文件,直接跳过了密码验证
        [root@localhost ~]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
        [root@localhost ~]#vim /etc/my.cnf
        [mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
        保存并退出 :wq
        重启Mysql服务
        [root@localhost ~]# service mysql restart
        之后就可以执行插入数据库成功了

结尾

因为写作匆忙,很多地方都是不确定,有什么错误的地方希望大神指教。后续有时间在回来修改!感谢观看。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值