[问题澄清]
在添加主键时遇到报错 Unsupported add primary key, alter-primary-key is false, 举例:
MySQL [ryl]> alter table test add primary key(b);
ERROR 8200 (HY000): Unsupported add primary key, alter-primary-key is false
[原因分析]
alter-primary-key
- 用于控制添加或者删除主键功能(在 3.0.6 及以后版本支持此配置项)。
- 默认值:false
- 默认情况下,不支持增删主键。将此变量被设置为 true 后,支持增删主键功能。不过对在此开关开启前已经存在的表,且主键是整型类型时,即使之后开启此开关也不支持对此列表删除主键。
[解决方案]
-
ansible 部署方式修改 tidb-ansible/conf/tidb.yml;并通过
ansible-playbook rolling_update.yml -t tidb
生效 -
tiup 部署方式
-
通过
tiup cluster edit-config cluster-name
修改参数默认值,举例[tidb@node5169 ~]$ tiup cluster edit-config tidb-ryl2
-
按照提示执行reload,注意只需要执行 tidb reload 即可 ,使用 -R 参数 tiup cluster reload cluster-name -R tidb , 举例:
[tidb@node5169 ~]$ tiup cluster reload tidb-ryl2 -R tidb
-
[参考案例]