shell批量增删改查百库百表(mysql)
2015-10-29 09:25
781 查看
我的博客已迁移到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
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- Shell中的for和while循环详细总结
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Linux Shell 数组建立及使用技巧
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本实现批量替换文件内容
- Shell脚本实现的一个简易Web服务器例子分享
- linux Shell学习笔记第五天