修改sql文件的表名全部从小写到大写

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

testip作为集群,打算直接使用上面的mysql服务。

1.  windows服务器通过Navicat prenium 连接上局域网地址

2. 执行sql脚本,报错表名没找到,于是sql文件中insert语句全部使用大写的表名(notepad++批量替换)。

3.  sql文件被更新了,我有需要执行新的sql文件覆盖老的。

4. 懒得又拷贝文件了,于是testIP上直接运行 mysql -u admin , 登陆后 use mcdb3.0 , 最后 执行  source /home/../dict.sql 。

5. 然后连接数据库,结果报错,因为数据库版本过高,java的mysql驱动版本过低。这样要继续使用,就得更新docker 镜像里的 jar包了。嫌太麻烦了!

6. 于是改用ngip上的数据库。mysql -h 172.17.0.3 -P 3306  (因为本地的my.cnf在client字段中使用了port=9901,所以连接别的数据库的别的端口必须明确指定端口). 运行 sql 脚本,

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

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

再次运行sql,执行成功!

本来还想着 vim 怎么实现批量修改大小写呢,结果发现 sed 才是最方便的!

你可能感兴趣的:(修改sql文件的表名全部从小写到大写)