百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[技术交流] 2003系统,mysql如何批量创建数据库? [复制链接]
查看:11148 | 回复:19

104

主题

378

帖子

679

积分

落伍者(一心一意)

网店装修之神

Rank: 1

贡献
1269
鲜花
2
注册时间
2006-3-11
发表于 2013-2-6 09:29:40 | 显示全部楼层 |阅读模式 来自 中国湖南株洲
1000积分
例如我要
创建数据库名字为a0001密码为a111111的数据库
创建数据库名字为a0002密码为a111111的数据库
创建数据库名字为a0003密码为a111111的数据库



创建数据库名字为a9999密码为a111111的数据库
如何实现?
用户名就是root

如何批量的建

最佳答案

查看完整内容

写个循环~! 先用root连接数据库。 然后 for(int i=1;i
回复

使用道具 举报

161

主题

2275

帖子

3398

积分

落伍者(两全齐美)

Rank: 2

贡献
436
鲜花
2
注册时间
2005-1-22

QQ绑定

发表于 2013-2-6 09:29:41 | 显示全部楼层 来自 中国广东广州
写个循环~! 先用root连接数据库。
然后
for(int i=1;i<10000;i++)
{
if(i<10)
{
string stri="0000"+i;
string sqlstr="create datebase a"+stri+";";
//执行建库操作。
}
else if (10<i<100)
{
string stri="000"+i;
string sqlstr="create datebase a"+stri+";";
//执行建库操作。
}
else if (100<i<1000)
{
string stri="00"+i;
string sqlstr="create datebase a"+stri+";";
//执行建库操作。
}
.......
}
回复

使用道具 举报

1万

主题

20万

帖子

20万

积分

落伍者(八仙过海)

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

贡献
34756
鲜花
166
注册时间
2008-10-5

落伍者落伍手机绑定

发表于 2013-2-6 09:30:11 | 显示全部楼层 来自 中国山东青岛
问度娘吧
回复

使用道具 举报

2959

主题

5万

帖子

3万

积分

落伍者(四季发财)

Rank: 4

贡献
3851
鲜花
1849
注册时间
2009-12-19

落伍者落伍手机绑定

发表于 2013-2-6 09:30:34 | 显示全部楼层 来自 中国北京
百度一下
回复

使用道具 举报

440

主题

2186

帖子

2432

积分

落伍者(两全齐美)

Rank: 2

贡献
2808
鲜花
1
注册时间
2010-10-8

QQ绑定

发表于 2013-2-6 09:30:40 | 显示全部楼层 来自 中国广东茂名
这个还真不知道。
回复

使用道具 举报

2959

主题

5万

帖子

3万

积分

落伍者(四季发财)

Rank: 4

贡献
3851
鲜花
1849
注册时间
2009-12-19

落伍者落伍手机绑定

发表于 2013-2-6 09:31:19 | 显示全部楼层 来自 中国北京
  1. 由于近来需要从其它机器拉一堆数据到一台机器上做数据分析,由于涉及到数据库比较,数据也不大不小的,要手工一个一倒腾真是累的半死,于是弄了个脚本
  2. 实现功能,根据指定文件下的数据库文件命令格式,
  3. str=1234_`date +%y%m%d%H%M`.gz
  4. echo "开始备份..."`date`
  5. mysqldump -uroot -pxxxxxx--quick --add-drop-table --extended-insert qeedoo | gzip > $str
  6. echo "备份完毕..."`date`
  7. 这是相关的数据库备份脚本由于名称的有一个特点即_`date +%y%m%d%H%M`.gz从_开始后面的都相同,前面的话有纯数字的组成也有字母跟数字,数字与字母。
  8. 因为涉及到mysql的问题,即mysql不能以纯数字的命令一个数据库,所以操作步骤如下:
  9. 一、提取相关数据库备份文件的名称
  10. 二、以纯数字为前缀的给他加上后缀com
  11. 二、创建数据库导入数据

  12. 由于以前手工导过数据,但这些数据都没有用了,所以现在需要先批量drop相关库
  13. for i in `cat mysqldata`
  14. do
  15. mysql   -u   root   <<QUERY_SQL
  16.          DROP      DATABASE    IF         EXISTS     $i;
  17. QUIT   
  18. QUERY_SQL
  19. done
  20. 从mysqldata文件里取到相关数据库的名,如果存在删掉,记得如果需要保留的数据库需要拿掉不在放在mysqldata文件里,这里面的数据库是show databases 出来的

  21. 好了进入正题。

  22. echo "type  your data path!"
  23. read path
  24. for sqldata in `ls $path`
  25. gunzip $sqldata
  26. do
  27. str=`echo ${sqldata%_*}`  #取_之前的字符串
  28. name=`echo ${sqldata%.*}` #把.gz后缀去掉
  29. echo $str #打印正在处理的数据库
  30. expr $str + 0 1>/dev/null 2>1 #用_之前的字符串进行expr运算
  31. if [ $? -eq 0 ];then #通过判断返回值确认_之前的字符串是否为纯数字
  32. str1=${str}com #为数字时添加后缀com
  33. else   
  34. str1=${str}
  35. fi         

  36. #进入mysql处理
  37. mysql   -u   root   <<QUERY_SQL  
  38. #如果有密码可以用mysql -uroot -pxxxx <<QUERY_SQL
  39.        DROP      DATABASE    IF         EXISTS     $str1;
  40.         create database   $str1;
  41.         use $str1;
  42.         source $path/$name;
  43. QUIT   
  44. QUERY_SQL
  45. #echo $   #打印出正在运行的进程号如果不小心进入了死循环直接kill -9 该进程号就可以了当然也可以用ps -ef过滤出来看
  46. done


  47. 记得由于是直接处理字符串的,在进入的path目录里只允许有相关的数据库文件,因为如你在该目录下建了a b之类的该脚本也会例行处理
复制代码
回复

使用道具 举报

104

主题

378

帖子

679

积分

落伍者(一心一意)

网店装修之神

Rank: 1

贡献
1269
鲜花
2
注册时间
2006-3-11
 楼主| 发表于 2013-2-6 09:33:51 | 显示全部楼层 来自 中国湖南株洲
5楼,我技术很差,这个我真看不懂
回复

使用道具 举报

1634

主题

4万

帖子

21万

积分

落伍者(八仙过海)

www.sxxxhq.com www.sxask.com

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

贡献
338
鲜花
55
注册时间
2010-12-21

QQ绑定落伍手机绑定

发表于 2013-2-6 09:37:55 | 显示全部楼层 来自 中国浙江绍兴
不会搞。
回复

使用道具 举报

1137

主题

5万

帖子

1万

积分

落伍者(四季发财)

admin

Rank: 4

贡献
3237
鲜花
58
注册时间
2006-8-22

QQ绑定

发表于 2013-2-6 10:09:36 | 显示全部楼层 来自 中国陕西西安
写php文件执行
回复

使用道具 举报

15

主题

5856

帖子

4631

积分

落伍者(两全齐美)

Rank: 2

贡献
269
鲜花
2
注册时间
2012-10-21
发表于 2013-2-6 10:28:09 | 显示全部楼层 来自 中国山东德州
不知道怎么的搞啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-6-2 08:31 , Processed in 0.118865 second(s), 35 queries , Gzip On.

返回顶部