ngip 上裝了mysql 5.5, testip上裝了mysql 5.7.
testip作為集群,打算直接使用上面的mysql服務(wù)澄干。
1.? windows服務(wù)器通過(guò)Navicat prenium 連接上局域網(wǎng)地址
2. 執(zhí)行sql腳本,報(bào)錯(cuò)表名沒(méi)找到毒租,于是sql文件中insert語(yǔ)句全部使用大寫(xiě)的表名(notepad++批量替換)璃吧。
3.? sql文件被更新了,我有需要執(zhí)行新的sql文件覆蓋老的俯树。
4. 懶得又拷貝文件了,于是testIP上直接運(yùn)行 mysql -u admin , 登陸后 use mcdb3.0 贰盗, 最后 執(zhí)行? source /home/../dict.sql 许饿。
5. 然后連接數(shù)據(jù)庫(kù),結(jié)果報(bào)錯(cuò)舵盈,因?yàn)閿?shù)據(jù)庫(kù)版本過(guò)高陋率,java的mysql驅(qū)動(dòng)版本過(guò)低。這樣要繼續(xù)使用秽晚,就得更新docker 鏡像里的 jar包了瓦糟。嫌太麻煩了!
6. 于是改用ngip上的數(shù)據(jù)庫(kù)。mysql -h 172.17.0.3 -P 3306? (因?yàn)楸镜氐膍y.cnf在client字段中使用了port=9901赴蝇,所以連接別的數(shù)據(jù)庫(kù)的別的端口必須明確指定端口). 運(yùn)行 sql 腳本菩浙,
然而,由于 ngip 上的mysql配置了 lower_case_table_names=1 句伶,sql報(bào)錯(cuò)劲蜻,找不到表名。
7. 于是? sed -i 's/tab_dictionary/TAB_DICTIONARY/g'? tab_dictionary_20170721.sql
再次運(yùn)行sql考余,執(zhí)行成功先嬉!
本來(lái)還想著 vim 怎么實(shí)現(xiàn)批量修改大小寫(xiě)呢,結(jié)果發(fā)現(xiàn) sed 才是最方便的楚堤!