我正在尝试使用Percona中的pt升级来测试在MySQL 5.1和MySQL 5.6数据库服务器上运行负载。我想看看我从MySQL 5.1慢速日志中捕获的任何查询在MySQL 5.6系统上是否会失败。我在https://www.percona.com/doc/percona-toolkit/2.2/pt-upgrade.html上阅读了文档并创建了以下命令:
pt-upgrade h=IPADDRESS1 -uUSERNAME -pPASSWORD h=IPADDRESS2 uUSERNAME -pPASSWORD --type='slowlog' --max-class-size=1 --max-examples=1 --run-time=1m 'slow_log_mysqld.log' 1>report.txt 2>err.txt &我将所有数据库的副本都还原到了两个单独的服务器上。
我的命令工作得很好,我已经将它设置为只运行1分钟进行测试。我在报告中看到的问题是,查询在主机上一次又一次地失败。
On both hosts:
DBD::mysql::st execute failed: No database selected [for Statement "....看起来pt升级并没有改变数据库。
我已经查看了缓慢的查询日志,并且在每个SELECT语句之前清楚地看到这样的语句:
4 9640337 Query USE database1
9 9640337 Query USE database2我在服务器上有100多个数据库,在那里我得到了缓慢的日志。pt升级不能在数据库之间切换,有什么限制吗?如何使pt升级以处理多个数据库?
发布于 2016-02-10 20:57:55
在我的系统上,缓慢登录的格式似乎有些奇怪。我必须先用pt查询摘要“按摩”日志,然后才能运行pt-升级。下面是我如何使用pt-query-摘要在慢速日志上运行按摩:
pt-query-digest --filter '$event->{arg} =~ m/^select/i' --sample 5 --no-report --output slowlog mysql_slow.log > massaged_mysql_slow.log现在我可以运行这个:
pt-upgrade h=IPADDRESS1 -uUSERNAME -pPASSWORD h=IPADDRESS2 uUSERNAME -pPASSWORD --type='slowlog' --max-class-size=1 --max-examples=1 --run-time=1m 'massaged_mysql_slow.log' 1>report.txt 2>err.txt &https://stackoverflow.com/questions/33577767
复制相似问题