背景是这样的: 我搭建了3节点的 MySQL 5.7.26 版本的MYSQL。最终目的还是希望测试下通过多节点MGR滚动升级到Mysql 8的mgr。 在看官方文档中的 [size=14.256px]InnoDB Cluster overview 是下图,看起来MySQL Shell 是单独部署的(我认为应该也是可以和mysql server部署在一起) 参考 https://greatsql.cn/docs/8.0.32- ... install-deploy.html 文档中 执行 dba.configure_instance() 命令开始检查当前实例是否满足安装MGR集群的条件,如果不满足可以直接配置成为MGR集群的一个节点: 我看到这里使用的是 root@'localhost' 连接的mysqlsh 文档中会提示
由于我部署了三个节点的MySQL Server在不同的服务器上,所以我在想,如果我的MYSQL SHELL只在一个节点上,应该是没办法用root@'localhost'来连接2个其他节点。 于是我在三个节点上创建了root@'%'账号:
在第一个节点上使用MySQL Shell 连接root@'%'用户,我的过程如下:
我的疑问: 1、是不是我给了 root@'%' 足够的权限,所以导致使用 root@'%' 连接的mysqlsh 时执行 dba.configureInstance() 他检测到我满足了MGR的用户条件,就不会让我去创建用户? 2、如果第1点的猜测是对的话,那在三节点MGR的情况下,我不希望使用那么大权限的 root@'%' 用户,那我是不是应该在每个节点都安装一个MySQL Shell,然后在每个节点上使用 root@'localhost' 来连接 ? 3、如果我仍然想按照文档的 https://greatsql.cn/docs/8.0.32-25/8-mgr/2-mgr-install-deploy.html 中使用dba.configureInstance() 创建合适的权限用户,而并不适用root@'%'的用户,是不是我应该先去删掉 root@'%' 用户,然后再去用root@localhost 连接mysqlsh,然后使用dba.configureInstance() 去创建合适用户? 4、如果我希望按照 [size=14.256px]InnoDB Cluster overview 中介绍的,一个Mysql Shell 来搭建MGR,并且使用dba.configureInstance() 去创建合适权限的用户,那我应该如何提前创建一个用于连接三个节点MYSQL的用户呢? 5、我在没有关闭binlog的情况下,在三个节点上创建了 root@'%' 用户,我理解的,这时候三个节点都有了自己的gtid事务,我能保障三个节点上都是空的(因为是刚刚搭建的),那我是不是可以通过reset master 来清空gtid事务,然后再进行后续MGR集群搭建工作? |
KAiTO
2024-5-22 11:30:36
| ||
起飞小宇
2024-5-22 11:59:10
| ||
yejr
2024-5-22 12:08:38
| ||
起飞小宇
2024-5-22 13:03:07
| ||
reddey
2024-5-22 13:12:43
| ||
一个学艺不精的国产数据库爱好者
|
||
起飞小宇
2024-5-22 20:06:07
| ||
起飞小宇
2024-5-22 20:14:31
| ||
起飞小宇
2024-5-22 20:18:46
| ||
reddey
2024-5-22 21:01:42
| ||
一个学艺不精的国产数据库爱好者
|
||
合作电话:010-64087828
社区邮箱:greatsql@greatdb.com