【问题标题】:Auto increment by 1 in MySQL with clearDB在 MySQL 中使用 clearDB 自动递增 1
【发布时间】:2016-05-12 00:53:19
【问题描述】:

我正在使用带有 clearDB 的 Windows Azure。当前数据库自增值为 10。我希望它为 1。

我尝试在 PHPMyAdmin 中运行这些命令,

1)

set global auto_increment_increment = 1;
set global auto_increment_offset = 1;

错误: #1227 - 访问被拒绝;您需要(至少一个)超级权限才能执行此操作

2)

set auto_increment_increment = 1;
set auto_increment_offset = 1;

然后我通过这个命令检查了它,

SHOW VARIABLES LIKE 'auto_inc%';

结果:

Variable_name                 Value     
auto_increment_increment      10
auto_increment_offset         1

可能是什么原因?

【问题讨论】:

  • 所以,你需要一个SUPER 特权用户...
  • 我已经在 clearDB 中以管理员用户身份登录。
  • 但是您没有SUPER 权限,这意味着您的管理员用户在那里并不是全能的。但是,退后一步:您为什么还要关心使用什么自增数?您应该没有什么理由,而且这些通常意味着增加增量而不是将其设置为 1....
  • clearDB 只为我们提供了一个用户名和密码。我认为这不是基于特权的帐户。
  • 我相信你应该创建一张到 clearDB 的票。

标签: php mysql azure phpmyadmin cleardb


【解决方案1】:

当我向 clearDB 提交工单时,他们这样回复我:

ClearDB 使用循环复制来提供主-主 MySQL 支持。 因此,某些东西,例如 auto_increment 键(或序列)必须是 配置为使一个主控不使用与另一个主控相同的密钥, 在所有情况下。我们通过配置 MySQL 跳过某些键来做到这一点,并通过 强制 MySQL 为使用的每个键使用特定的偏移量。 我们使用 10 而不是 2 的原因是为了未来的发展。

【讨论】:

  • 太好了,我以为这一步 10 是关于一个糟糕的配置,但现在,它很有意义,非常感谢!
猜你喜欢
  • 2020-09-12
  • 1970-01-01
  • 2013-10-12
  • 2011-06-09
  • 2016-02-19
  • 2011-09-25
  • 2011-12-29
  • 1970-01-01
相关资源
最近更新 更多