在上一步中我们成功将远程服务器上备份的数据保存到了本地接下来的这一步中我们将备份的数据导入到本地的数据库,进行数据分析并导出结果。说干就干
使用存储过程写数据分析函数然后使用存储过程导出,这个使用select语句就可以做到 不多说了。
这里我们写了一个存储过程 将上会保存的表drop掉,名字叫 auto_drop_tables,这个存储过程没有参数 那么我们可以这样调用
mysql -uroot -p123456 -h192.168.1.1(这里是本机ip非远程服务器ip) -e CALL auto_drop_tables()
我们又有一个有参数的存储过程 create_txt(filename) 该存储过程分析表,然后产生.txt文件,该存储过程接受一个参数我们可以这样调用
mysql -uroot -p123456 -h192.168.1.1 -e CALL create_txt(xxx.xxx)
于是我们有了一个这样的脚本
#!/bin/sh
t1=$(date +%Y%m%d)
sql_user=root
sql_passwd=123456
sql_host=192.168.1.1
sql_db=mysql
sql_clear="CALL auto_drop_tables()"
sql_log="CALL create_txt($t1)"
filename=`ls ../sql -l | tail -n 1 | awk '{print $9}'`
mysql -u$sql_user -p$sql_passwd -h$sql_host $sql_db -e "$sql_clear"
#import data
mysql -u$sql_user -p$sql_passwd -h$sql_host $sql_db < /home/$filename
mysql -u$sql_user -p$sql_passwd -h$sql_host $sql_db -e "$sql_log"
其中
filename=`ls ../sql -l | tail -n 1 | awk '{print $9}'`
是得到最新的文件 (包括最新创建和最新修改)
哈哈,第四步结束 ,这一步我们将拷贝过来的数据分析后导出成txt文件,下一步我们将txt文件放到windows里面 ,然后导入到excel表里边去