修改sql文件的表名全部從小寫到大寫

ngip 上裝了mysql 5.5, testip上裝了mysql 5.7.

testip作為集群,打算直接使用上面的mysql服務(wù)。

1.? windows服務(wù)器通過Navicat prenium 連接上局域網(wǎng)地址

2. 執(zhí)行sql腳本,報錯表名沒找到,于是sql文件中insert語句全部使用大寫的表名(notepad++批量替換)。

3.? sql文件被更新了,我有需要執(zhí)行新的sql文件覆蓋老的。

4. 懶得又拷貝文件了,于是testIP上直接運(yùn)行 mysql -u admin , 登陸后 use mcdb3.0 , 最后 執(zhí)行? source /home/../dict.sql 。

5. 然后連接數(shù)據(jù)庫,結(jié)果報錯,因?yàn)閿?shù)據(jù)庫版本過高,java的mysql驅(qū)動版本過低。這樣要繼續(xù)使用,就得更新docker 鏡像里的 jar包了。嫌太麻煩了!

6. 于是改用ngip上的數(shù)據(jù)庫。mysql -h 172.17.0.3 -P 3306? (因?yàn)楸镜氐膍y.cnf在client字段中使用了port=9901,所以連接別的數(shù)據(jù)庫的別的端口必須明確指定端口). 運(yùn)行 sql 腳本,

然而,由于 ngip 上的mysql配置了 lower_case_table_names=1 ,sql報錯,找不到表名。

7. 于是? sed -i 's/tab_dictionary/TAB_DICTIONARY/g'? tab_dictionary_20170721.sql

再次運(yùn)行sql,執(zhí)行成功!

本來還想著 vim 怎么實(shí)現(xiàn)批量修改大小寫呢,結(jié)果發(fā)現(xiàn) sed 才是最方便的!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容