shell批量增删改查百库百表(mysql)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
我的博客已迁移到xdoujiang.com请去那边和我交流
一、基础环境
1、版本
cat  /etc/debian_version 
7.8
 
2、内核
uname  -r
3.2.0-4-amd64
 
3、ip(eth0)
10.1.10.117
10.1.10.185
 
4、2台机器上都设置权限
grant all privileges on `xxx%`.* to  'jimmy' @ '10.1.10.%'  identified by  'redhat' ;
flush privileges;
 
5、要注意数据库必须监听在相应本机IP地址上
 
二、shell脚本函数说明
redirectlog            #记录日志
createdb               #创建库
createtb               #创建表 
 
三、具体代码
cat  createdbtb.sh 
#!/bin/bash
#--------------------------------------------------
#Author:jimmygong
#Email:jimmygong@taomee.com
#FileName:createdbtb.sh
#Function:
#Version:1.0
#Created:2015-10-29
#--------------------------------------------------
currdate=$( date  +%Y%m%d)
dbuser= "jimmy"
dbpass= "redhat"
logdir= "/root/log"
tmptb= "table.sql"
tmpdb= "db.sql"
function  redirectlog ()
{
     logfile=$logdir/${currdate}log
     mkdir  -p $logdir
     exec  1>$logfile
     exec  2>$logfile
}
function  createdbsql ()
{
     cat  <<EOF > $tmpdb
     create database $1
EOF
}
function  createdb ()
{
     dbfront=0
     dbend=100
     while  [[ $dbfront -lt $dbend ]]
     do
         dbx=` printf  "%02d"  $dbfront`
         createdbsql xxx$dbx
         cat  $tmpdb|mysql -u "$dbuser"  -p "$dbpass"  -h "$1"
         let  "dbfront+=1"
     done
}
function  createtbsql ()
{
     cat  <<EOF > $tmptb
     CREATE TABLE IF NOT EXISTS t_xxx_$1(
     userid INT UNSIGNED NOT NULL DEFAULT  '0' ,
     toolid INT UNSIGNED NOT NULL DEFAULT  '0' ,
     number INT UNSIGNED NOT NULL DEFAULT  '0' ,
     get_time INT UNSIGNED NOT NULL DEFAULT  '0' ,
     PRIMARY KEY (userid, toolid)
     ) ENGINE=innodb, CHARSET=utf8;
EOF
}
function  createtb () 
{
     dbfront=0
     dbend=100
     tablefront=0
     tableend=100
     while  [[ $dbfront -lt $dbend ]]
     do
         dbx=` printf  "%02d"  $dbfront`
         echo  $dbx
         while  [[ $tablefront -lt $tableend ]]
         do
             tbx=` printf  "%02d"  $tablefront`
             createtbsql $tbx
             cat  $tmptb|mysql -u "$dbuser"  -p "$dbpass"  -h "$1"  "xxx$dbx"
             let  "tablefront+=1"
         done
         let  "dbfront+=1"
         let  "tablefront=0"
     done
}
redirectlog
createdb 10.1.10.185
createtb 10.1.10.185
createdb 10.1.10.117
createtb 10.1.10.117
end=` date  "+%s"
exit  0









本文转自 xdoujiang 51CTO博客,原文链接:http://blog.51cto.com/7938217/1707546,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
1月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
67 1
|
1月前
|
关系型数据库 MySQL
MySQL表的增删改查(基础篇详细详解)
MySQL表的增删改查(基础篇详细详解)
36 5
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
58 3
|
1月前
|
关系型数据库 MySQL 数据库
mysql的增删改查
本文介绍了MySQL数据库中进行增删改查操作的基本语法和注意事项,包括如何添加、修改和删除数据。
44 2
|
1月前
|
Oracle 关系型数据库 MySQL
shell获取多个oracle库mysql库所有的表
请注意,此脚本假设你有足够的权限访问所有提到的数据库。在实际部署前,请确保对脚本中的数据库凭据、主机名和端口进行适当的修改和验证。此外,处理数据库操作时,务必谨慎操作,避免因错误的脚本执行造成数据损坏或服务中断。
40 0
|
3月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
64 3
|
3月前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
3月前
|
关系型数据库 MySQL 数据库
MySQL数据库的增删改查
MySQL数据库的增删改查
21 0
|
3月前
|
SQL 关系型数据库 MySQL
"Python与MySQL的浪漫邂逅:一键掌握增删改查,开启你的数据库编程之旅!"
【8月更文挑战第21天】Python因其简洁的语法和强大的库支持,成为连接数据库的首选工具。本文介绍如何使用Python连接MySQL数据库并执行基本操作。首先需安装`mysql-connector-python`库。通过配置连接信息建立数据库连接后,可利用`cursor.execute()`执行SQL语句进行数据的增删改查,并通过`commit()`提交更改。查询时使用`fetchall()`或`fetchone()`获取结果。记得处理异常及关闭连接以释放资源。掌握这些基础,有助于高效进行数据库编程。
66 0
下一篇
无影云桌面