批量给mycat配置文件增加数据库节点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/bin/bash #修改mysql schema mycat_schema_file= /opt/mycat/conf/schema .xml cp $mycat_schema_file ${mycat_schema_file}.bak database_list= 'message xuejie' #找到usercenter的行号,由于schema成对出现有可能换行,在其上一行增加schema更可靠 last_schema_row_number=` sed -n '/<schema name="usercenter"/=' $mycat_schema_file` if [ ! -z "$last_schema_row_number" ]; then last_schema_row_number=` expr ${last_schema_row_number} - 1` for database in $database_list do new_schema_row_number=` sed -n "/<schema name=\"$database\"/=" $mycat_schema_file` if [ -z "$new_schema_row_number" ]; then shell_cmd= '<schema name="' ${database} '" checkSQLschema="false" sqlMaxLimit="20000" dataNode="' ${database} '"></schema>' sed -i "${last_schema_row_number}a ${shell_cmd}" $mycat_schema_file last_schema_row_number=` expr ${last_schema_row_number} + 1` sed -i "${last_schema_row_number}s/^/ /g" $mycat_schema_file fi done fi #找到usercenter的行号,在下面增加dataNode last_node_row_number=` sed -n '/database="usercenter"/=' $mycat_schema_file` if [ ! -z "$last_node_row_number" ]; then for database in $database_list do new_node_row_number=` sed -n "/database=\"$database\"/=" $mycat_schema_file` if [ -z "$new_node_row_number" ]; then shell_cmd= '<dataNode name="' $database '" dataHost="localhost1" database="' $database '" />' sed -i "${last_node_row_number}a ${shell_cmd}" $mycat_schema_file last_node_row_number=` expr ${last_node_row_number} + 1` sed -i "${last_node_row_number}s/^/ /g" $mycat_schema_file fi done fi |
将以上代码保存至multi_add_database_to_mycat_conf.sh
1 2 3 4 5 6 | #赋予执行权限 chmod +x multi_add_database_to_mycat_conf.sh #执行脚本 /bin/bash multi_add_database_to_mycat_conf.sh #执行脚本(打印每行执行debug过程) /bin/bash -x multi_add_database_to_mycat_conf.sh |
此博客已不再更新,如需查看最新文章请访问雪洁之家
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?