首页 > 代码库 > shell实现,将mysql每个存储过程导出为单个文件
shell实现,将mysql每个存储过程导出为单个文件
#shell实现,将mysql中存储过程代码直接导出为文件 dbcn="mysql -h172.16.1.194 -uroot -p123456 "; db=BCReport_Sync_Executor; ii=0; ct=`$dbcn -N -e " select count(1) from mysql.proc as p where 1=1 and p.db='$db' and p.type like 'P%';"`; mkdir -p /chenenhui/$db while true; do if [ $ii -lt $ct ] then p=$ii; let ii++; echo p=$p echo ii=$ii spname=`$dbcn -N -e " select p.name from mysql.proc as p where 1=1 and p.db='$db' and p.type like 'P%' limit $p,1;"`; echo spname=$spname sleep 0; ss=`$dbcn -N -e " SELECT CONCAT( ' DELIMI','TER ',REPEAT(CHAR(36),2),' USE ',CHAR(96), p.db,CHAR(96),REPEAT(CHAR(36),2),' DROP PROCEDURE IF EXISTS ',CHAR(96),p.name,CHAR(96), REPEAT(CHAR(36),2),' CREATE DEFINER=',CHAR(96), LEFT(DEFINER, -1+LOCATE('@',DEFINER)), CHAR(96),'@',CHAR(96), RIGHT(DEFINER,LENGTH(DEFINER)-LOCATE('@',DEFINER)), CHAR(96) ,' PROCEDURE ',CHAR(96),p.name ,CHAR(96),'(',p.param_list,') ', p.body_utf8 ,REPEAT(CHAR(36),2) ,' DELIMI','TER ; ' ) AS sql_create FROM mysql.proc AS p WHERE 1=1 and p.db='$db' and p.type LIKE 'P%' AND p.name ='$spname' ;" ` echo -e "$ss" > /chenenhui/$db/$spname.sql echo $spname else echo '_while finished'; exit 0; fi done
shell实现,将mysql每个存储过程导出为单个文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。