同一個實例下拷貝資料庫到其他庫下

  • 2019 年 10 月 5 日
  • 筆記

要什麼變數替換,直接複製粘貼,程式跑起來就走。

#!/bin/bash

# 將hellodb的數據拷貝到hellodb_bak庫裡面。

mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 2>/dev/null -e "flush tables with read lock;"

mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 2>/dev/null -e "create database hellodb_bak;"

tbname=$(mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 2>/dev/null -e "SELECT table_name from information_schema.tables where TABLE_SCHEMA='hellodb'")

for i in $tbname; do

    mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 hellodb_bak 2>/dev/null -e "create table $i like hellodb.$i"

    mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 hellodb_bak 2>/dev/null -e "insert into $i select * from hellodb.$i"

done

mysql -uroot -pAbcd@1234 -h 10.0.20.26 -P3306 2>/dev/null -e "unlock tables;"

Tags: