我需要將數據從一個數據庫複製到我自己的數據庫中,因爲我想將它作爲每日cronjob運行,所以我更喜歡將其用於bash。我還需要將值存儲在變量中,以便對值執行各種檢查/驗證。這是我走到這一步:使用bash將數據從一個數據庫複製到另一個數據庫
echo "SELECT * FROM table WHERE value='ABC' AND value2 IS NULL ORDER BY time" | mysql -u user -h ip db -p | sed 's/\t/,/g' | awk -F, '{print $3,$4,$5,$7 }' > Output
cat Output | while read line
do
Value1=$(awk '{print "",$1}')
Value2=$(awk '{print "",$2}')
Value3=$(awk '{print "",$3}')
Value4=$(awk '{print "",$4}')
echo "INSERT INTO db (value1,value2,value3,value4,value5) VALUES($Value1,$Value2,'$Value3',$Value4,'n')" | mysql -u rb db -p
done
我得到我從數據庫中需要並將其存儲在由空格隔開一個新文件中的數據。然後我逐行讀取文件並將值存儲在變量中,最後我運行帶有正確變量的插入查詢。
我認爲存儲值時出現問題,但我無法真正弄清楚什麼地方出了問題。
使用mysqlhotcopy的或pg_dump在 – MattSmith 2010-09-29 07:27:07