Mysql脚本 生成测试数据

2021-06-17 14:15:48 浏览数 (1)

  1. #!/bin/bash
  2. #混合测试数据库脚本
  3. #将创建一个single数据库,其中创建一个s1表
  4. #如果数据库存在,将会写入数据,可以在写入部分sleep 1 来让数据持续写入
  5. #使用方法 ./xx.sh -uroot -p'123456'
  6. #检查
  7. mysql $* -e "show databases;" &> /tmp/info_error.txt
  8. if [[ $? -ne 0 ]];then
  9. echo "time:$(date %F-%H-%M-%S) info:登陆命令错误"
  10. cat /tmp/info_error.txt #如果错误则显示错误信息
  11. echo
  12. echo "./xx.sh -uroot -p'123456'"
  13. exit 1
  14. fi
  15. #检查库是否存在
  16. mysql $* -e "use single;" &> /tmp/info_error.txt
  17. if [[ $? -eq 0 ]];then
  18. mysql $* -e "use single;select * from s1 where id=1;"
  19. if [[ $? -ne 0 ]];then
  20. mysql $* -e "use single;drop table s1;"
  21. mysql $* -e "use single;create table s1(id int AUTO_INCREMENT PRIMARY KEY,name char(20),age int);"
  22. fi
  23. else
  24. mysql $* -e "create database single;"
  25. mysql $* -e "use single;create table s1(id int AUTO_INCREMENT PRIMARY KEY,name char(20),age int);"
  26. fi
  27. #name随机数
  28. random_name() {
  29. local zu=(q w e r t y u i o p a s d f g h j k l z x c v b n m)
  30. for i in `seq 1 5`
  31. do
  32. local a=`echo $[RANDOM$]`
  33. echo -n ${zu[a]}
  34. done
  35. }
  36. #age随机数
  37. random_age() {
  38. local a=`echo $[RANDOM�]`
  39. echo $a
  40. }
  41. #写入部分
  42. for i in `seq 1 10000`
  43. do
  44. b=`random_name`
  45. c=`random_age`
  46. sleep 2
  47. mysql $* -e "use single;insert into s1(name,age) values('${b}',${c});"
  48. done

0 人点赞