mysql怎么复制监控 mysql怎么复制数据库

mysql 如何监控表结构修改Online DDL 工具:pt-osc
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比 。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中 , 将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;
6. 删除触发器 。
如何监控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-stalk.log 。
collect:触发发生时收集诊断数据 , 默认开启 。
° collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具 。
° collect-strace:收集跟踪数据,需要 strace 工具 。
° collect-tcpdump:收集 tcpdump 数据,需要 tcpdump 工具 。
如何复制MySQL数据库或表到另外一台服务器?使用这种方法前 , 我们需要先下载一个MySQL客户端工具SqlYog 。点击这里下载并安装\x0d\x0a\x0d\x0a下面我们开始复制数据库:\x0d\x0a1、打开SqlYog community Edition,分别在不同的选项卡中打开源数据库服务器与目标数据库服务器,这一点很重 。\x0d\x0a\x0d\x0a在源数据库服务器选项卡中你将看到所有数据库列表 。\x0d\x0a2、在需要复制迁移的数据库上右击,在弹出菜单中选择“Copy Database to Different Host/Database”\x0d\x0a3、在弹出对话框中,我们能看到源数据库服务器及目标服务器,在左边,通过勾选复选框来选择需要复制迁移的对象,如表、函数、触发器等,也可以选择所有对象 。\x0d\x0a4、在右边选择需要迁移的目标服务器或数据库\x0d\x0a5、根据你的需要选择复制类型:“Structure and Data”或“Structure only”,即“结构和数据”或“仅结构” 。\x0d\x0a6、选择结束后点击“Copy”按钮开始复制,知道数据迁移结束 。

推荐阅读