前言
此方案只是針對,個人項目况增,然后你有多臺電腦赞庶,不同電腦之間的數(shù)據(jù)庫同步方案。尤其是指家中電腦和公司電腦二者之間的數(shù)據(jù)庫同步問題澳骤。
- 有人可能會說歧强,買個服務(wù)器,在服務(wù)器搭建個數(shù)據(jù)庫为肮,遠(yuǎn)程調(diào)用不就可以了摊册。
如果是多人合作,遠(yuǎn)程調(diào)用肯定是首先颊艳。但如果只有你一個人茅特,又不想買服務(wù)器,搭建數(shù)據(jù)庫棋枕。當(dāng)然白修,使用本地同步的方案,不是因為沒錢買服務(wù)器搭建重斑,而是效率問題兵睛!遠(yuǎn)程連接數(shù)據(jù)庫,http請求窥浪,請求響應(yīng)卤恳,網(wǎng)絡(luò)延遲,請求超時寒矿,是遠(yuǎn)程連接影響開發(fā)效率的主要原因突琳!尤其是經(jīng)常出現(xiàn)當(dāng)一段時間不連接mysql,再次連接時就會報連接時間小于某某的錯誤符相!
自從 從遠(yuǎn)程連接數(shù)據(jù)庫拆融,改成了本地數(shù)據(jù)庫之后蠢琳,數(shù)據(jù)請求速度,開發(fā)速度都提高了镜豹,心情都好多了傲须。
一、使用docker快速安裝mysql
原因:docker安裝可以不污染本機環(huán)境趟脂,安裝簡單泰讽,卸載也簡單!而且各種各樣的軟件都有docker安裝方案昔期,一鍵安裝已卸!并且可以同時安裝多個mysql,redis等硼一!環(huán)境統(tǒng)一累澡,不存在mac,windows差異問題!
docker pull mysql:5.6
創(chuàng)建自動啟動的mysql
docker run --restart=always --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:5.6
二般贼、導(dǎo)出項目數(shù)據(jù)庫愧哟,并上傳到遠(yuǎn)程
導(dǎo)出數(shù)據(jù)sql、本地備份哼蛆、遠(yuǎn)程上傳的腳本
echo '開始導(dǎo)出數(shù)據(jù)庫'
echo -n '#' > ./yjd.sql
docker exec -it mysql mysqldump -uroot -pxxxx yjd >> ./yjd.sql
echo '開始上傳數(shù)據(jù)庫'
ossutilmac64 cp -f ./yjd.sql oss://xxxx/yjd.sql
today=`date +"%Y-%m-%d"`
cp -f ./yjd.sql ~/Documents/code/temp/yjd-database-bak/${today}"-yjd.sql"
rm -f ./yjd.sql
echo '成功上傳數(shù)據(jù)庫'
其中遠(yuǎn)程上傳使用了oss工具蕊梧,并上傳到了oss服務(wù)器,原因是帶寬足上傳速度快腮介。慢點的方式就是采用scp上傳到自己的服務(wù)器望几。
可以設(shè)置git push的勾子,每當(dāng)push的時候萤厅,自動執(zhí)行腳本, 上傳數(shù)據(jù)庫靴迫。
三惕味、從遠(yuǎn)程下載數(shù)據(jù),并覆蓋式導(dǎo)入項目數(shù)據(jù)
echo '開始下載數(shù)據(jù)庫'
ossutilmac64 cp oss://xxxx/yjd.sql ./yjd.sql
docker exec -i mysql mysql -uroot -pxxx yjd < ./yjd.sql
rm -f ./yjd.sql
echo '成功導(dǎo)入數(shù)據(jù)庫'
可以設(shè)置git pull的勾子玉锌,每當(dāng)pull的時候名挥,自動 執(zhí)行腳本,同步數(shù)據(jù)庫數(shù)據(jù)主守。