当前位置: 首页 > news >正文

数据库数据整合

系统开发一段时间上线之后,由于功能业务复杂,数据量较大,为了监控也是运维一部分,需要对数据库的数据进行检查,整合。一般会对一些关键数据进行定期检查,对于库存之类的,基本是每天都需要检查整合。每天可以人工执行一些SQL,但是就会很麻烦。不够自动化。手里拿着一台电脑,竟然还要自己每天去手动。于是调查了一下想设置些东西,让sql 每天自己运行,并且把运行结果以文件形式输出。要达到的大致目标找到了,于是就开启了学习之路。下面记录一些这过程中的学习关键点。

1:MySQL执行Select语句将结果导出到文件的方法

看了下语句写法不复杂,于是自己写了个

SELECT SUM(CommNum)as s from t_stock into outfile 'H://yhhsDataBack/1.sql'; ;

运行报错:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

猜测是数据库安全参数设置什么的导致不能导出文件,百度这个错误,的确实是的。 也就是说,导出到什么路径,数据库已经默认了。 不能随便导出。当然也就两种方法,一种是查看默认路径是什么

show variables like '%secure%';

第三个参数就是允许默认的导出路径。所以改为

SELECT SUM(CommNum)as s from t_stock into outfile 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads/1.sql'; 

就可以正常运行。或者自己去修改MySQL的安装配置,修改这个路径参数就行。但是很麻烦,下次你换个文件,又要修改配置重启mysql .所以推荐方法2

2:上面是运行mysql 自带的方法来实现。进一步来看,写个bat文件制定输出文件也可以实现.

@echo off 
cd C:/Program Files/MySQL/MySQL Server 5.7/bin
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set file=%year%%month%%day%
set filename=%year%%month%%day%.txt
set character_set_database=GBK
md "E:/Yhhs/StockBackups/%file%"
mysql.exe -h localhost  -uroot -ptest123 -e"SELECT SUM(CommNum)as s from t_stock" yhhs  > E:/Yhhs/StockBackups/%file%/%filename%
pause

实现了按照日期时间自动创建文件。实现了输出文件的任意性。 

cd  set  md pause 这些都是简单的cmd 命令不解释了。解释下倒数第二行参数数据库连接信息

-h 数据库服务器地址(不是你的客户端地址)

-u 用户名

-p 密码

-e 要执行的sql 语句

 yhhs 数据库名称

> 输出的文件

以上bat 文件写好。将bat 文件加入到系统的定时计划就行。 那天都是执行一次那个sql语句输出一个新的文件。

在查找这个功能的时候,感觉到bat里面的命令和cmd 很想 就去百度了下bat 和cmd 的区别。 目前我的理解是,bat 和cmd 没什么区别,只是执行不同。 双击bat 文件,系统就直接运行这个bat .也是一行一行的运行里面的cmd命令。理解为cmd 要打开dos 界面实时写实时运行 ,但是bat 可以把cmd命令存起来,要用的时候,双击就好了。

好了,再提供一个数据库备份的bat 吧,用的是mysql 自带的mysqldump.exe 这个程序。 

@echo off 
cd C:/Program Files/MySQL/MySQL Server 5.7/bin
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set file=%year%%month%%day%
set filename=%year%%month%%day%.sql
set character_set_database=GBK
md "E:/Shhs/Backups/%file%"
mysqldump.exe --opt -Q shhs -uroot -ptest123 > E:/Shhs/Backups/%file%/%filename%

你发现,除了mysql.exe  和mysqldump.exe之外没什么区别,只是mysqldump 没有写sql语句,select * from。。。。。 的却是的,其实你可以理解为,mysqldump已经写好了这个语句。 同样的输出就OK了。

回来更新下。 在windos 系统下面有个很坑的东西。关于盘符。 原因是我把写的bat 由桌面放到其他E盘,点击运行,一直运行失败找不到mysql.exe  可是不是cd c:/ 这可是绝对路径哇 。 唉  cd 这个命令 的确是进去某个文件,但是只限于同一个盘符,意思是,你当前在E盘 不能直接用cd c:进C盘的文件  必须要先C:切换盘符  然后 cd ... 坑哇。  


http://www.taodudu.cc/news/show-4974444.html

相关文章:

  • 数据挖掘二:数据整合
  • 数据整合基础知识介绍
  • 从零开始设计键值数据库(KEY-VALUE STORE)
  • MySQL键值
  • 常用键值表
  • JAVA怎么给手机发短信对接验证码短信接口DEMO示例
  • 手机短信验证码解决方案
  • python实现发送和获取手机短信验证码
  • 【Python web 开发】获取手机短信验证码接口(1)
  • 手机短信验证码接口在各领域的应用
  • dwg文件导入到supermap显示导入失败问题
  • 全新共享协作体验—CAD 2022新功能介绍
  • iOS debug神器
  • clutch ios脱壳工具安装和使用教程
  • iOS-国际化脚本工具
  • iOS逆向工具推荐
  • iOS应用签名管理工具
  • iOS 下载功能(断点续传)
  • 解析超时
  • java 视频解析_ffmpeg解析视频的每一帧(java )
  • 旋风解析磁力php,梦见旋风磁力好不好?
  • remixpacks.club无法访问解决方案(基于Python的base64磁力链接地址解析)
  • UI设计流行框架、学习路线图教程,最新意派基础讲解
  • Epub360教你如何制作报纸翻页式创意招聘H5?
  • 360 序列帧html生成工具,1.gif导出为序列帧
  • UI设计最新意派基础视频教程全套资源
  • 意派epub360 html 代码,意派Epub360丨不用代码,不用定制,你也可以自己制作DIY类H5啦!...
  • 招聘H5页面模板看Epub360,助你快速生成创意H5
  • 放弃哪吒造车增资,360的“智能汽车网络安全”牌不好打
  • Epub360教你招聘H5页面设计与制作