當前位置:
首頁 >
完整版使用Shell脚本在多个服务器同时实现Mysql建表语句和删除表
發(fā)布時間:2025/1/21
72
豆豆
生活随笔
收集整理的這篇文章主要介紹了
完整版使用Shell脚本在多个服务器同时实现Mysql建表语句和删除表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 一、創(chuàng)建表結(jié)構(gòu)
- 二、刪除表結(jié)構(gòu)
前言:我們在項目開發(fā)過程中可能會遇到類似這樣的需求,比如在多個Mysql服務(wù)器同時建表語句和刪除表,這時候我們肯定不可能一個服務(wù)器一個服務(wù)器的創(chuàng)建,所以我們要用到強大的Shell腳本來實現(xiàn)。
一、創(chuàng)建表結(jié)構(gòu)
下面例子創(chuàng)建表結(jié)構(gòu)的例子。
在linux環(huán)境運行腳本 sh initSql.sh create.sql
meta.txt可以是多個數(shù)據(jù)庫鏈接密碼等信息例:
127.0.0.1:6338 aplustxn root root 127.0.0.1:6339 aplustxn root root 127.0.0.1:6349 aplustxn root root 127.0.0.1:6350 aplustxn root root二、刪除表結(jié)構(gòu)
下面例子刪刪除表結(jié)構(gòu)的例子。
在linux環(huán)境運行腳本 sh drop.sh drop.sql
#!/usr/bin/env bashMYSQL = $(which mysql) AWK = $(which awk) GREP = $(which grep)while read LINE doHOST = `echo $LINE | awk -F " " '{print $1}' | awk -F ":" '{print $1}'`PORT = `echo $LINE | awk -F " " '{print $1}' | awk -F ":" '{print $2}'`DBNAME = `echo $LINE | awk -F " " '{print S2}'`USER = `echo $LINE | awk -F " " '{print S3}'`PASS = `echo $LINE | awk -F " " '{print S4}'`TABLES = $(mysql -h$HOST -P$PORT -u$USER -p$PASS $DBNAME -e 'show tables' | $AWK '${print $1}' | $GREP -v '^Tables')for t in $TABLESdoecho "Drop $t table $MDB database..."doneif [ $? -ne 0 ]; thenexitfiecho "" done <./meta.txt總結(jié)
以上是生活随笔為你收集整理的完整版使用Shell脚本在多个服务器同时实现Mysql建表语句和删除表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 内存分析之jmap 详细用法完
- 下一篇: 详解MySQL字符串函数CONCAT()