1. 查询Mysql的进程
-- 查看全部进程 show processlist; -- 查询进行中的进程 select *from information_schema.processlist where command not in('Sleep','Killed'); -- 查询某个库的进程 select *from information_schema.processlist where db='dw'; -- 杀掉某进程, 从上述进程中获取某任务的首字段即为进程id kill ***;
2. 导出存储过程sql语句
select concat( char(10),'drop procedure if exists ',ROUTINE_NAME,';',char(10), 'create procedure ',ROUTINE_NAME,'()',char(10), ROUTINE_DEFINITION,';',char(10) ) from information_schema.ROUTINES where routine_schema = 'dw' -- 目标库 and routine_name in('dw_test'); -- 目标存储过程名称
3. 导出含参数的存储过程sql语句
select concat( char(10),'drop procedure if exists ',ROUTINE_NAME,';',char(10), 'create procedure ',ROUTINE_NAME,'(', convert(( select param_list from mysql.proc n where n.db = 'dw' -- 目标库 and n.name = m.ROUTINE_NAME),char) ,')',char(10), ROUTINE_DEFINITION,';',char(10) ) from information_schema.ROUTINES m where routine_schema = 'dw' -- 目标库 and routine_name in('dw_test'); -- 目标存储过程名称
4. 获取表的建表语句(shell处理)
show create table 其实可以返回,然后借助shell语句截取处理一下
table_sqls=`mysql -h**** -u**** -p**** -P*** -D*** -e"show create table test_table"|awk -F' ' '{print $2}'` echo "drop table if exists $line;"$table_sqls";">>$target_sql echo $target_sql