• 使用percona工具升级数据库


    1.pt-upgrade

    运行应用程序的SELECT查询,并生成有关每种查询模式如何在我们测试的不同MySQL版本的服务器上执行的报告。用于检测是否可以安全地升级或降级到某个版本。

    pt-upgrade可以执行慢查询日志,通用日志,二进制日志,tcpdump,以及raw日志。

     

    场景1:host to host

    pt-upgrade h=host1 h=host2 slow.log

     

    场景2:reference results to host

    这里reference results是mysql server执行完成并保存到磁盘的结果,必须先用--save-results生成reference results。这可能会需要更多的磁盘空间,如果想在多个版本之间进行比较,这个方法比较适合。

    pt-upgrade h=host1 --save-results host1_results/ slow.log

    pt-upgrade host1_results1/ h=host2

    使用的要点:一致性环境和一致性数据对测试产生一个精确的报告很重要。不要在生产或活跃的mysql server上执行测试。建议测试的数据要一样。

    缺省情况下,pt-upgrade只是执行select和set语句(不包括select...into)。如果还想比较insert、update、delete,可以使用参数--no-read-only。如果使用的是binlog,必须要指定--no-read-only,因为binlog不包含select语句。

     

    只读比较:建议执行两次,第一次作为热身,第二次才作为比较结果

    $ pt-upgrade h=Test1 h=Test2 --max-examples=1 <digest>.out 1> pt-upgrade_results.out 2> pt-upgrade_results.err

    pt-upgrade会将结果输出到STDOUT,而内部warnings、errors和--progress会输出到STDERR,将二者分开,就可以如下输出设置:

    pt-upgrade ... 1>report 2>err &

     

    读写比较:

    $ pt-upgrade h=Test1 h=Test2 --no-read-only --max-examples=1 <digest>.out 1> pt-upgrade_results_RW.out 2> pt-upgrade_results_RW.err

     

    pt-upgrade本身不产生事务,但是日志中的事务会按照其原始的方式执行。但是pt-upgrade不是用来测试事务型任务的。

     

    当pt-upgrade运行时,它会尽快打印有差异的查询。为了防止报告变得太长,查询不会单独报告,而是分组到类中。通过删除文字值、规范化空格等创建。因此,这些查询属于同一类:

    SELECT c FROM t WHERE id = 1
    SELECT c FROM t WHERE id=5
    select c from t where id = 9

    统一归类为:

    select c from t where id=?

     

    2.pt-query-digest

    分析慢查询的工具

    如果慢日志太大,可以取样分析,比如;

    Note: When processing large slow logs, the tool may use some memory, so keep an eye on it if you're running it on production servers.
    pt-query-digest --sample 50 --no-report --output slowlog <slow_log_file> > <digest>.out

     

    3.pt-config-diff

    比较mysql设置的差异。

    pt-config-diff h=<Testnode1> h=<Testnode2>

     

  • 相关阅读:
    jquery源码解读 (摘自jQuery源码分析系列图书(pdf)) 持续更新
    jquery源码学习
    判断浏览器是ie9座特殊处理
    js继承
    引入flash
    IE7下面踩得坑
    导航栏对应相应的模块,可点击索引和滚动索引到需要到达的位置
    java的eclipse的使用
    弹窗在大屏上居中对齐,在小屏上被挡住解决方案
    左侧菜单栏,有对个li对应一个content
  • 原文地址:https://www.cnblogs.com/abclife/p/15937936.html
Copyright © 2020-2023  润新知