首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona Toolkit v.Openark套件。模式变化

Percona Toolkit v.Openark套件。模式变化
EN

Stack Overflow用户
提问于 2012-02-08 02:38:02
回答 1查看 2.2K关注 0票数 2

我尝试用pt-online-schema-change向RDS DB表的2列添加唯一索引,但它失败了,错误如下:

代码语言:javascript
复制
DBD::mysql::db do failed: Access denied; you need (at least one of) the SUPER privilege(s) for this operation [for Statement "SET SQL_LOG_BIN=0"] at /usr/bin/pt-online-schema-change line 4663.

但是使用oak-online-alter-table,,我的表正在改变。该过程未完成,但我没有看到任何错误,输出如下:

代码语言:javascript
复制
...
-- Copying range (1230004), (1231683), progress: 24%

这些工具是否实现了更改表的不同方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-16 16:10:00

在这种情况下没有什么好担心的。

根据关于超级特权的MySQL文档

“超级特权”使帐户能够使用“更改母版”、“杀死”或“mysqladmin杀死”来杀死属于其他帐户的线程(您始终可以杀死自己的线程)、清除二进制日志、使用SET全局修改全局系统变量的配置更改、mysqladmin调试命令、启用或禁用日志记录、执行更新,即使启用了read_only系统变量、启动和停止从服务器上的复制、存储程序和视图的定义器属性中的任何帐户的规范,以及使您能够连接(一次),即使达到了max_connections系统变量控制的连接限制。 若要创建或更改存储函数(如果启用了二进制日志记录),您还可能需要超级权限,如第18.7节“存储程序的二进制日志记录”中所述。

禁用DB会话中语句的二进制日志记录需要超级权限。

事实上,根据关于pt-online-schema-change的文档

-箱-日志 允许二进制日志记录(设置SQL_LOG_BIN=1)。默认情况下,将关闭二进制日志记录,因为在大多数情况下,不需要复制--tmp-表。此外,在复制环境中执行联机架构更改需要仔细规划,否则复制可能会中断;请参阅“复制”。

由此,您可以得出这样的结论:这确实是pt-online模式更改的正常行为。默认情况下,它试图在会话中禁用二进制日志记录。

Recommendation

尝试将pt-online-schema-change作为root@localhost运行。该用户应该是主动的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9187097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档