こんにちは、マスターからスレーブにデータベースcopy and paste
をやっています。しかし、スレーブにはマスターが上書きしたくないテーブルがあります。mysqldumpでテーブルを無視しますか?
私はcronジョブで実行される以下のbashスクリプトを試していますが、無視したいスレーブテーブルを上書きし続けます。私は間違って何をしていますか?無視するテーブルの場合
#!/bin/bash
#Database login credentials - need to be changed accordingly
dbHost="localhost"
#Master (Staging)
dbMastUser="admin_site"
dbMastName="admin_site_pineapple_master"
#Slave (Live)
dbSlavUser="admin_sync"
dbSlavName="admin_site_pineapple_slave"
dbPass="ExamplePassword"
EXCLUDED_TABLES=(
forms-responses
)
IGNORED_TABLES=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
IGNORED_TABLES+=" --ignore-table=${dbMastName}.${TABLE}"
done
#Update the database from the Master to the Slave
mysqldump -h ${dbHost} -u ${dbMastUser} -p${dbPass} ${dbMastName} ${IGNORED_TABLES} | mysql -h ${dbHost} -u ${dbSlavUser} -p${dbPass} ${dbSlavName}
ご質問はありますか? – Inian
'localhost'を' $(localhost) 'として設定します。 –
参照[this](http://www.tldp.org/LDP/LG/issue38/tag/6.html) –