假想环境:
1 MySQL安装位置:D:\Program Files\MySQL\MySQL\MySQL Server 50
2 数据库名称:mlsite
3 数据库备份目的地:E:\db_backup\mlsite
*** 作原理:
1 在MySQL的安装文件夹下,有data文件夹,data文件夹中存放数据库中的数据,这里以mlsite数据库为例,因此data文件夹下有mlsite这个文件夹,mlsite文件夹下是mlsite数据库的所有数据表的结构信息。在data文件夹下有一个idbata1这个文件是真正的数据文件。因此在备份时一定要对此文件进行备份。
2 编写批处理文件,实现上面的文件备份工作。利用Windows 的任务计划功能定时启动批处理文件进行备份。
*** 作步骤:
1 编写批处理文件dabakbat,实现备份文件的拷贝功能。源程序见附件。
2 选择开始->控制面板->任务计划……请自己按说明 *** 作。
代码部分:
1 源程序:[1、2、3、4、5是为了注释而用]
1)net stop mysql
2)mkdir E:\db_backup\mlsite\"%date:~4,10%"
3)xcopy D:\"Program Files"\MySQL\"MySQL Server 50"\data\ibdata1 E:\db_backup\mlsite\"%date:~4,10%"\/y
4)xcopy D:\"Program Files"\MySQL\"MySQL Server 50"\data\mlsite\ E:\db_backup\mlsite\"%date:~4,10%"\/y
5)net start mysql
特别说明,需要使用引号。
2 解释:
1) 关闭Mysql服务
2) 创建备份目录
3) 拷贝ibadata1到备份目录下,注意Program Files上打了引号,是因为若不打引号会出现参数错误,原因是因为xcopy的参数是前面是源地址+空格+目标地址,如果不打引号,Program Files上有空格,会对这个命令产生影响
4) 拷贝mlsite其它文件到备份目录下
5) 开启mysql服务
首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。
pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:
1 OS 层面的 CPU、IO、内存、磁盘、网络等信息;
2 MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。
而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。
三、使用
接着我们来看下如何使用这个工具。
pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。
触发条件相关的参数有以下几个:
function:
∘ 默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;
∘ 也可以设置为 processlist,代表监控 show processlist 的输出;
variable:
∘ 默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;
threshold:
∘ 默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;
∘ 监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;
cycles:
∘ 默认为 5,表示连续观察到五次满足触发条件时,才触发收集;
连接参数:host、password、port、socket。
其他一些重要参数:
iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。
run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。
sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。
interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。
dest:监控数据存放路径,默认为 /var/lib/pt-stalk。
retention-time :监控数据保留时长,默认 30 天。
daemonize:以后台服务运行,默认不开启。
log:后台运行日志,默认为 /var/log/pt-stalklog。
collect:触发发生时收集诊断数据,默认开启。
∘ collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。
∘ collect-strace:收集跟踪数据,需要 strace 工具。
∘ collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具。
一个事务是一个连续的一组数据库 *** 作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的 *** 作是成功的。如果在事务的任何 *** 作失败,则整个事务将失败。 实际上,会俱乐部许多SQL查询到一个组中,将执行
以上就是关于怎样定时进行mysql数据库流水日志数据备份全部的内容,包括:怎样定时进行mysql数据库流水日志数据备份、如何实时监控mysql中的SQL语句的执行情况、mysql日志里有很多BEGIN和COMMIT,mysql占用高,怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)